diff options
-rw-r--r-- | audio/gnome-media/Makefile | 2 | ||||
-rw-r--r-- | audio/gnome-media/files/patch-gmix_gmix.c | 42 | ||||
-rw-r--r-- | audio/gnomemedia2/Makefile | 2 | ||||
-rw-r--r-- | audio/gnomemedia2/files/patch-gmix_gmix.c | 42 |
4 files changed, 86 insertions, 2 deletions
diff --git a/audio/gnome-media/Makefile b/audio/gnome-media/Makefile index 824b52f560f1..745beaabb4c8 100644 --- a/audio/gnome-media/Makefile +++ b/audio/gnome-media/Makefile @@ -7,7 +7,7 @@ PORTNAME= gnomemedia2 PORTVERSION= 2.2.1.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gnome-media/2.2 diff --git a/audio/gnome-media/files/patch-gmix_gmix.c b/audio/gnome-media/files/patch-gmix_gmix.c new file mode 100644 index 000000000000..d306c14e282d --- /dev/null +++ b/audio/gnome-media/files/patch-gmix_gmix.c @@ -0,0 +1,42 @@ +--- gmix/gmix.c.orig Sun Mar 16 16:09:01 2003 ++++ gmix/gmix.c Sun Mar 16 16:13:09 2003 +@@ -591,6 +591,11 @@ + /* Masks for the channel data - OSS blows compared to ALSA */ + int recmask, recsrc, stereodee; + ++ /* FreeBSD device name detection */ ++ FILE *sndstat; ++ char line[256]; ++ char *devname, *p; ++ + /* + * create new device configureation + */ +@@ -659,7 +665,26 @@ + } + #else + new_device->card_name = g_strdup_printf ("OSS-%d-%d", num + 1, num + 1); +- g_snprintf (new_device->info.name, 31, "Card %d", num+1); ++ /* get soundcard name from /dev/sndstat on FreeBSD */ ++ sndstat = fopen("/dev/sndstat", "r"); ++ if (!sndstat) ++ g_snprintf (new_device->info.name, 31, "Card %d", num+1); ++ else { ++ while (fgets (line, 255, sndstat)) { ++ if (!strncmp (line, "pcm", 3) && (atoi (&line[3]) == num)) ++ { ++ devname = line; ++ while (*devname++ != '<') ++ ; ++ p = devname; ++ while (*p != '>') ++ p++; ++ *p = '\0'; ++ g_snprintf (new_device->info.name, 31, devname); ++ } ++ } ++ fclose(sndstat); ++ } + #endif + /* + * several bitmasks describing the mixer diff --git a/audio/gnomemedia2/Makefile b/audio/gnomemedia2/Makefile index 824b52f560f1..745beaabb4c8 100644 --- a/audio/gnomemedia2/Makefile +++ b/audio/gnomemedia2/Makefile @@ -7,7 +7,7 @@ PORTNAME= gnomemedia2 PORTVERSION= 2.2.1.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gnome-media/2.2 diff --git a/audio/gnomemedia2/files/patch-gmix_gmix.c b/audio/gnomemedia2/files/patch-gmix_gmix.c new file mode 100644 index 000000000000..d306c14e282d --- /dev/null +++ b/audio/gnomemedia2/files/patch-gmix_gmix.c @@ -0,0 +1,42 @@ +--- gmix/gmix.c.orig Sun Mar 16 16:09:01 2003 ++++ gmix/gmix.c Sun Mar 16 16:13:09 2003 +@@ -591,6 +591,11 @@ + /* Masks for the channel data - OSS blows compared to ALSA */ + int recmask, recsrc, stereodee; + ++ /* FreeBSD device name detection */ ++ FILE *sndstat; ++ char line[256]; ++ char *devname, *p; ++ + /* + * create new device configureation + */ +@@ -659,7 +665,26 @@ + } + #else + new_device->card_name = g_strdup_printf ("OSS-%d-%d", num + 1, num + 1); +- g_snprintf (new_device->info.name, 31, "Card %d", num+1); ++ /* get soundcard name from /dev/sndstat on FreeBSD */ ++ sndstat = fopen("/dev/sndstat", "r"); ++ if (!sndstat) ++ g_snprintf (new_device->info.name, 31, "Card %d", num+1); ++ else { ++ while (fgets (line, 255, sndstat)) { ++ if (!strncmp (line, "pcm", 3) && (atoi (&line[3]) == num)) ++ { ++ devname = line; ++ while (*devname++ != '<') ++ ; ++ p = devname; ++ while (*p != '>') ++ p++; ++ *p = '\0'; ++ g_snprintf (new_device->info.name, 31, devname); ++ } ++ } ++ fclose(sndstat); ++ } + #endif + /* + * several bitmasks describing the mixer |