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
-~----------~----~----~----~------~----~------~--~---