Author: pebender
Date: Sat Jun 13 11:30:13 2009
New Revision: 4940

Modified:
    trunk/gar-minimyth/html/minimyth/document-changelog.txt
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_EXTERNAL.pm

Log:
- Fixed a bug that caused internal volume control with LIRC to fail.



Modified: trunk/gar-minimyth/html/minimyth/document-changelog.txt
==============================================================================
--- trunk/gar-minimyth/html/minimyth/document-changelog.txt     (original)
+++ trunk/gar-minimyth/html/minimyth/document-changelog.txt     Sat Jun 13  
11:30:13 2009
@@ -32,6 +32,7 @@
      - Patched irserver to use the lircd FIFOs new location:  
/var/run/lirc/lircd.
      - Fixed MM_LIRC.pm so the uinput kernel module is not loaded as a  
result
        of MM_LIRC_FETCH_LIRCMD_CONF='no'.
+    - Fixed a bug that caused internal volume control with LIRC to fail.

  Fixed build system
      - Patched legacy NVIDIA drivers so that they build with kernel 2.6.30.

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_EXTERNAL.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_EXTERNAL.pm
    
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_EXTERNAL.pm
    
Sat Jun 13 11:30:13 2009
@@ -15,6 +15,7 @@

  $var_list{'MM_EXTERNAL_POWER_OFF'} =
  {
+    prerequisite   =>  
['MM_EXTERNAL_AQUOS_PORT', 'MM_EXTERNAL_AQUOS_POWER_ENABLED'],
      extra          => sub
      {
          my $minimyth = shift;
@@ -22,24 +23,35 @@

          my $success = 1;

-        unlink('/usr/bin/mm_external_power_off');
-
-        if (open(FILE, '>', '/usr/bin/mm_external_power_off'))
+        my @command_list = ();
+        if ($minimyth->var_get($name))
+        {
+            push(@command_list, minimyth->var_get($name));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_POWER_ENABLED') eq 'yes')
+        {
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            push(@command_list, qq(/bin/echo -e "POWER OFF\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1));
+        }
+        if ($#command_list >= 0)
          {
-            chmod(0755, '/usr/bin/mm_external_power_off');
-            print FILE qq(#!/bin/sh\n);
+            unlink('/usr/bin/mm_external_power_off');

-            my $command = $minimyth->var_get($name);
-            if ($command)
+            if (open(FILE, '>', '/usr/bin/mm_external_power_off'))
              {
-                print FILE qq($command\n);
+                chmod(0755, '/usr/bin/mm_external_power_off');
+                print FILE qq(#!/bin/sh\n);
+                foreach my $command (@command_list)
+                {
+                    print FILE qq($command\n);
+                }
+                close(FILE);
+            }
+            else
+            {
+                $minimyth->message_output('err', "MM_EXTERNAL_POWER_OFF  
could not write '/usr/bin/mm_external_power_off'.");
+                $success = 0;
              }
-            close(FILE);
-        }
-        else
-        {
-            $minimyth->message_output('err', "MM_EXTERNAL_POWER_OFF could  
not write '/usr/bin/mm_external_power_off'.");
-            $success = 0;
          }

          return $success;
@@ -47,6 +59,7 @@
  };
  $var_list{'MM_EXTERNAL_POWER_ON'} =
  {
+    prerequisite   =>  
['MM_EXTERNAL_AQUOS_PORT', 'MM_EXTERNAL_AQUOS_POWER_ENABLED', 
'MM_EXTERNAL_AQUOS_INPUT'],
      extra          => sub
      {
          my $minimyth = shift;
@@ -54,24 +67,43 @@

          my $success = 1;

-        unlink('/usr/bin/mm_external_power_on');
-
-        if (open(FILE, '>', '/usr/bin/mm_external_power_on'))
+        my @command_list = ();
+        if ($minimyth->var_get($name))
+        {
+            push(@command_list, minimyth->var_get($name));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_POWER_ENABLED') eq 'yes')
+        {
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            push(@command_list, qq(/bin/echo -e "POWER ON\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_INPUT'))
+        {
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            my $input = $minimyth->var_get('MM_EXTERANAL_AQUOS_INPUT');
+            push(@command_list, qq(while /usr/bin/test `/bin/echo -e "CMD  
IAVD $input\\nEXIT" | /usr/bin/nc localhost $port 2> /dev/null` = 'ERR' ;  
do));
+            push(@command_list, qq(    :));
+            push(@command_list, qq(done));
+        }
+        if ($#command_list >= 0)
          {
-            chmod(0755, '/usr/bin/mm_external_power_on');
-            print FILE qq(#!/bin/sh\n);
+            unlink('/usr/bin/mm_external_power_on');

-            my $command = $minimyth->var_get($name);
-            if ($command)
+            if (open(FILE, '>', '/usr/bin/mm_external_power_on'))
              {
-                print FILE qq($command\n);
+                chmod(0755, '/usr/bin/mm_external_power_on');
+                print FILE qq(#!/bin/sh\n);
+                foreach my $command (@command_list)
+                {
+                    print FILE qq($command\n);
+                }
+                close(FILE);
+            }
+            else
+            {
+                $minimyth->message_output('err', "MM_EXTERNAL_POWER_ON  
could not write '/usr/bin/mm_external_power_on'.");
+                $success = 0;
              }
-            close(FILE);
-        }
-        else
-        {
-            $minimyth->message_output('err', "MM_EXTERNAL_POWER_ON could  
not write '/usr/bin/mm_external_power_on'.");
-            $success = 0;
          }

          return $success;
@@ -79,6 +111,7 @@
  };
  $var_list{'MM_EXTERNAL_VOLUME_DOWN'} =
  {
+    prerequisite   =>  
['MM_EXTERNAL_AQUOS_PORT', 'MM_EXTERNAL_AQUOS_VOLUME_ENABLED'],
      extra          => sub
      {
          my $minimyth = shift;
@@ -86,24 +119,35 @@

          my $success = 1;

-        unlink('/usr/bin/mm_external_volume_down');
-
-        if (open(FILE, '>', '/usr/bin/mm_external_volume_down'))
+        my @command_list = ();
+        if ($minimyth->var_get($name))
+        {
+            push(@command_list, minimyth->var_get($name));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_VOLUME_ENABLED')  
eq 'yes')
+        {
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            push(@command_list, qq(/bin/echo -e "VOL -\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1));
+        }
+        if ($#command_list >= 0)
          {
-            chmod(0755, '/usr/bin/mm_external_volume_down');
-            print FILE qq(#!/bin/sh\n);
+            unlink('/usr/bin/mm_external_volume_down');

-            my $command = $minimyth->var_get($name);
-            if ($command)
+            if (open(FILE, '>', '/usr/bin/mm_external_volume_down'))
              {
-                print FILE qq($command\n);
+                chmod(0755, '/usr/bin/mm_external_volume_down');
+                print FILE qq(#!/bin/sh\n);
+                foreach my $command (@command_list)
+                {
+                    print FILE qq($command\n);
+                }
+                close(FILE);
+            }
+            else
+            {
+                $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_DOWN  
could not write '/usr/bin/mm_external_volume_down'.");
+                $success = 0;
              }
-            close(FILE);
-        }
-        else
-        {
-            $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_DOWN  
could not write '/usr/bin/mm_external_volume_down'.");
-            $success = 0;
          }

          return $success;
@@ -111,7 +155,7 @@
  };
  $var_list{'MM_EXTERNAL_VOLUME_UP'} =
  {
-    prerequisite   => ['MM_EXTERNAL_VOLUME_DOWN'],
+    prerequisite   =>  
['MM_EXTERNAL_VOLUME_DOWN', 'MM_EXTERNAL_AQUOS_PORT', 
'MM_EXTERNAL_AQUOS_VOLUME_ENABLED'],
      extra          => sub
      {
          my $minimyth = shift;
@@ -130,24 +174,35 @@
              $success = 0;
          }

-        unlink('/usr/bin/mm_external_volume_up');
-
-        if (open(FILE, '>', '/usr/bin/mm_external_volume_up'))
+        my @command_list = ();
+        if ($minimyth->var_get($name))
          {
-            chmod(0755, '/usr/bin/mm_external_volume_up');
-            print FILE qq(#!/bin/sh\n);
+            push(@command_list, minimyth->var_get($name));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_VOLUME_ENABLED')  
eq 'yes')
+        {
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            push(@command_list, qq(/bin/echo -e "VOL +\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1));
+        }
+        if ($#command_list >= 0)
+        {
+            unlink('/usr/bin/mm_external_volume_up');

-            my $command = $minimyth->var_get($name);
-            if ($command)
+            if (open(FILE, '>', '/usr/bin/mm_external_volume_up'))
+            {
+                chmod(0755, '/usr/bin/mm_external_volume_up');
+                print FILE qq(#!/bin/sh\n);
+                foreach my $command (@command_list)
+                {
+                    print FILE qq($command\n);
+                }
+                close(FILE);
+            }
+            else
              {
-                print FILE qq($command\n);
+                $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_UP  
could not write '/usr/bin/mm_external_volume_up'.");
+                $success = 0;
              }
-            close(FILE);
-        }
-        else
-        {
-            $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_UP could  
not write '/usr/bin/mm_external_volume_up'.");
-            $success = 0;
          }

          return $success;
@@ -155,7 +210,7 @@
  };
  $var_list{'MM_EXTERNAL_VOLUME_MUTE'} =
  {
-    prerequisite   => ['MM_EXTERNAL_VOLUME_DOWN', 'MM_EXTERNAL_VOLUME_UP'],
+    prerequisite   =>  
['MM_EXTERNAL_VOLUME_DOWN', 'MM_EXTERNAL_VOLUME_UP', 'MM_EXTERNAL_AQUOS_PORT', 
'MM_EXTERNAL_AQUOS_VOLUME_ENABLED'],
      extra          => sub
      {
          my $minimyth = shift;
@@ -184,22 +239,35 @@
              $success = 0;
          }

-        if (open(FILE, '>>', '/usr/bin/mm_external_volume_mute'))
+        my @command_list = ();
+        if ($minimyth->var_get($name))
+        {
+            push(@command_list, minimyth->var_get($name));
+        }
+        if ($minimyth->var_get('MM_EXTERNAL_AQUOS_VOLUME_ENABLED')  
eq 'yes')
          {
-            chmod(0755, '/usr/bin/mm_external_volume_mute');
-            print FILE qq(#!/bin/sh\n);
+            my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
+            push(@command_list, qq(/bin/echo -e "MUTE TOGGLE\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1\n));
+        }
+        if ($#command_list >= 0)
+        {
+            unlink('/usr/bin/mm_external_volume_mute');

-            my $command = $minimyth->var_get($name);
-            if ($command)
+            if (open(FILE, '>', '/usr/bin/mm_external_volume_mute'))
              {
-                print FILE qq($command\n);
+                chmod(0755, '/usr/bin/mm_external_volume_mute');
+                print FILE qq(#!/bin/sh\n);
+                foreach my $command (@command_list)
+                {
+                    print FILE qq($command\n);
+                }
+                close(FILE);
+            }
+            else
+            {
+                $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_MUTE  
could not write '/usr/bin/mm_external_volume_mute'.");
+                $success = 0;
              }
-            close(FILE);
-        }
-        else
-        {
-            $minimyth->message_output('err', "MM_EXTERNAL_VOLUME_MUTE  
could not write '/usr/bin/mm_external_volume_mute'.");
-            $success = 0;
          }

          return $success;
@@ -247,144 +315,29 @@
  };
  $var_list{'MM_EXTERNAL_AQUOS_POWER_ENABLED'} =
  {
-    prerequisite  =>  
['MM_EXTERNAL_AQUOS_ENABLED', 'MM_EXTERNAL_AQUOS_PORT', 
'MM_EXTERNAL_POWER_OFF', 'MM_EXTERNAL_POWER_ON'],
+    prerequisite  => ['MM_EXTERNAL_AQUOS_ENABLED'],
      value_default => sub
      {
          my $minimyth = shift;

          return $minimyth->var_get('MM_EXTERNAL_AQUOS_ENABLED');
      },
-    value_valid   => 'no|yes',
-    extra          => sub
-    {
-        my $minimyth = shift;
-        my $name     = shift;
-
-        my $success = 1;
-
-        if ($minimyth->var_get($name) eq 'yes')
-        {
-            if (open(FILE, '>>', '/usr/bin/mm_external_power_off'))
-            {
-                chmod(0755, '/usr/bin/mm_external_power_off');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(/bin/echo -e "POWER OFF\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1\n);
-                close(FILE);
-            }
-            else
-            {
-                 
$minimyth->message_output('err', "MM_EXTERNAL_AQUOS_POWER_ENABLED could not  
write '/usr/bin/mm_external_power_off'.");
-                $success = 0;
-            }
-            if (open(FILE, '>>', '/usr/bin/mm_external_power_on'))
-            {
-                chmod(0755, '/usr/bin/mm_external_power_on');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(/bin/echo -e "POWER ON\\nEXIT" | /usr/bin/nc  
localhost $port > /dev/null 2>&1\n);
-                close(FILE);
-            }
-            else
-            {
-                 
$minimyth->message_output('err', "MM_EXTERNAL_AQUOS_POWER_ENABLED could not  
write '/usr/bin/mm_external_power_on'.");
-                $success = 0;
-            }
-        }
-
-        return $success;
-    }
+    value_valid   => 'no|yes'
  };
  $var_list{'MM_EXTERNAL_AQUOS_VOLUME_ENABLED'} =
  {
-    prerequisite  =>  
['MM_EXTERNAL_AQUOS_ENABLED', 'MM_EXTERNAL_AQUOS_PORT', 
'MM_EXTERNAL_VOLUME_DOWN', 'MM_EXTERNAL_VOLUME_UP', 'MM_EXTERNAL_VOLUME_MUTE'],
+    prerequisite  => ['MM_EXTERNAL_AQUOS_ENABLED'],
      value_default => sub
      {
          my $minimyth = shift;

          return $minimyth->var_get('MM_EXTERNAL_AQUOS_ENABLED');
      },
-    value_valid   => 'no|yes',
-    extra          => sub
-    {
-        my $minimyth = shift;
-        my $name     = shift;
-
-        my $success = 1;
-
-        if ($minimyth->var_get($name) eq 'yes')
-        {
-            if (open(FILE, '>>', '/usr/bin/mm_external_volume_down'))
-            {
-                chmod(0755, '/usr/bin/mm_external_volume_down');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(/bin/echo -e "VOL -\\nEXIT" | /usr/bin/nc  
localhost $port > /dev/null 2>&1\n);
-                close(FILE);
-            }
-            else
-            {
-                 
$minimyth->message_output('err', "MM_EXTERNAL_AQUOS_VOLUME_ENABLED could  
not write '/usr/bin/mm_external_volume_down'.");
-                $success = 0;
-            }
-            if (open(FILE, '>>', '/usr/bin/mm_external_volume_up'))
-            {
-                chmod(0755, '/usr/bin/mm_external_volume_up');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(/bin/echo -e "VOL +\\nEXIT" | /usr/bin/nc  
localhost $port > /dev/null 2>&1\n);
-                close(FILE);
-            }
-            else
-            {
-                 
$minimyth->message_output('err', "MM_EXTERNAL_AQUOS_VOLUME_ENABLED could  
not write '/usr/bin/mm_external_volume_up'.");
-                $success = 0;
-            }
-            if (open(FILE, '>>', '/usr/bin/mm_external_volume_mute'))
-            {
-                chmod(0755, '/usr/bin/mm_external_volume_mute');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(/bin/echo -e "MUTE TOGGLE\\nEXIT" |  
/usr/bin/nc localhost $port > /dev/null 2>&1\n);
-                close(FILE);
-            }
-            else
-            {
-                 
$minimyth->message_output('err', "MM_EXTERNAL_AQUOS_VOLUME_ENABLED could  
not write '/usr/bin/mm_external_volume_mute'.");
-                $success = 0;
-            }
-        }
-
-        return $success;
-    }
+    value_valid   => 'no|yes'
  };
  $var_list{'MM_EXTERNAL_AQUOS_INPUT'} =
  {
-    prerequisite  =>  
['MM_EXTERNAL_AQUOS_PORT', 'MM_EXTERNAL_AQUOS_POWER_ENABLED'],
-    value_valid   => '(|\d+)',
-    extra          => sub
-    {
-        my $minimyth = shift;
-        my $name     = shift;
-
-        my $success = 1;
-
-        my $input = $minimyth->var_get($name);
-        if ($input)
-        {
-            if (open(FILE, '>>', '/usr/bin/mm_external_power_on'))
-            {
-                chmod(0755, '/usr/bin/mm_external_power_on');
-                my $port = $minimyth->var_get('MM_EXTERNAL_AQUOS_PORT');
-                print FILE qq(while /usr/bin/test `/bin/echo -e "CMD IAVD  
$input\\nEXIT" | /usr/bin/nc localhost $port 2> /dev/null` = 'ERR' ; do\n);
-                print FILE qq(    :\n);
-                print FILE qq(done\n);
-                close(FILE);
-            }
-            else
-            {
-                $minimyth->message_output('err', "MM_EXTERNAL_AQUOS_INPUT  
could not write '/usr/bin/mm_external_power_on'.");
-                $success = 0;
-            }
-        }
-
-        return $success;
-    }
+    value_valid   => '(|\d+)'
  };

  1;

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"minimyth-commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/minimyth-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to