Hi,

this question is not new :-) where can I find the last releases of the WindowMaker Apps. I am trying to update the wmmixer in debian and I need the site where wmmixer is.

On the other hand, this is a patch to select the configuration file in wmmixer. Now is possible to use multiple soundcards with different configuration files.

Regards.

kix

--- a/wmmixer.cc
+++ b/wmmixer.cc
@@ -3,6 +3,7 @@
 // Release 1.5
 // Copyright (C) 1998  Sam Hawker <[email protected]>
 // Copyright (C) 2002 Gordon Fraser <[email protected]>
+// Patch added by Rodolfo (kix) Garcia <[email protected]> to select the config file
 // This software comes with ABSOLUTELY NO WARRANTY
 // This software is free software, and you are welcome to redistribute it
 // under certain conditions
@@ -234,10 +235,13 @@
     {"led-highcolor",  1, NULL, 'L'},
     {"back-color", 1, NULL, 'b'},
     {"mix-device", 1, NULL, 'm'},
+    {"config-file", 1, NULL, 'c'},
     {"scrollwheel",1, NULL, 'r'},
     {NULL,         0, NULL, 0  }};
   int i, opt_index = 0;
-
+
+  // init the config file name
+  snprintf(config_file_, CONFIGFILELEN -1, "%s/.wmmixer", getenv("HOME"));

   // For backward compatibility
   for(i=1; i<argc; i++)
@@ -256,7 +260,7 @@
        }
     }

- while ((i = getopt_long(argc, argv, "hvd:g:wasl:L:b:m:r:", long_opts, &opt_index)) != -1) + while ((i = getopt_long(argc, argv, "hvd:g:wasl:L:b:m:c:r:", long_opts, &opt_index)) != -1)
     {
       switch (i)
        {
@@ -295,6 +299,9 @@
        case 'm':
          sprintf(mixer_device_, "%s", optarg);
          break;
+       case 'c':
+         snprintf(config_file_, CONFIGFILELEN -1, "%s", optarg);
+         break;
        case 'r':
          if(atoi(optarg)>0)
            wheel_scroll_ = atoi(optarg);
@@ -307,14 +314,12 @@
 void WMMixer::readConfigurationFile()
 {
    FILE *rcfile;
-   char rcfilen[256];
    char buf[256];
    int done;
    //   int current=-1;
    unsigned current = mixctl_->getNrDevices() + 1;

-   sprintf(rcfilen, "%s/.wmmixer", getenv("HOME"));
-   if((rcfile=fopen(rcfilen, "r"))!=NULL)
+   if((rcfile=fopen(config_file_, "r"))!=NULL)
      {
        num_channels_=0;
        do
@@ -412,6 +417,7 @@
std::cout << " -L, --led-highcolor <string> use the specified color for led shading" << std::endl; std::cout << " -b, --back-color <string> use the specified color for backgrounds" << std::endl; std::cout << " -m, --mix-device use specified device (rather than /dev/mixer)" << std::endl; + std::cout << " -c, --config-file use specified config file (rather than $HOME/.wmmixer)" << std::endl; std::cout << " -r, --scrollwheel <number> volume increase/decrease with mouse wheel (default: 2)" << std::endl; std::cout << "\nFor backward compatibility the following obsolete options are still supported:" << std::endl; std::cout << " -help display this help screen" << std::endl;
--- a/wmmixer.h
+++ b/wmmixer.h
@@ -3,6 +3,7 @@
 // Release 1.5
 // Copyright (C) 1998  Sam Hawker <[email protected]>
 // Copyright (C) 2002 Gordon Fraser <[email protected]>
+// Patch added by Rodolfo (kix) Garcia <[email protected]> to select the config file
 // This software comes with ABSOLUTELY NO WARRANTY
 // This software is free software, and you are welcome to redistribute it
 // under certain conditions
@@ -31,7 +32,7 @@

 // For repeating next and prev buttons
 #define RPTINTERVAL   5
-
+#define CONFIGFILELEN 256

 class WMMixer
 {
@@ -41,6 +42,7 @@
   MixCtl *mixctl_;

   char     mixer_device_[256];
+  char     config_file_[CONFIGFILELEN];
   unsigned num_channels_;
   unsigned current_channel_;
   unsigned current_channel_left_;


--
||// //\\// Rodolfo "kix" Garcia
||\\// //\\ http://www.kix.es/


--
To unsubscribe, send mail to [email protected].

Reply via email to