diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-06-20 00:47:33 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-06-20 00:47:33 +0000 |
commit | ce944c6bc6af395488eb9d4e7e3e898cb1b7643a (patch) | |
tree | 344b01bf195515eb540e6c9f187c051d4123614e /audio/gnomemedia2 | |
parent | Change the LATEST_LINK to make this port easier to find. (diff) |
Show real device names in gmix so it's easier to control individual
sound cards.
Submitted by: Hendrik Scholz <hscholz@raisdorf.net>
Notes
Notes:
svn path=/head/; revision=83337
Diffstat (limited to 'audio/gnomemedia2')
-rw-r--r-- | audio/gnomemedia2/Makefile | 2 | ||||
-rw-r--r-- | audio/gnomemedia2/files/patch-gmix_gmix.c | 42 |
2 files changed, 43 insertions, 1 deletions
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 |