add patch from laurello for variable aid

This commit is contained in:
Marko Oldenburg 2021-01-29 12:24:14 +01:00
parent 2bfdbd9c05
commit 390338a080

View File

@ -8,6 +8,7 @@
# Special thanks goes to comitters: # Special thanks goes to comitters:
# - Olaf Schnicke Thanks for many many Code # - Olaf Schnicke Thanks for many many Code
# - Dieter Hehlgans Thanks for Commandref # - Dieter Hehlgans Thanks for Commandref
# - laurello Thanks for variable $aid
# #
# #
# This script is free software; you can redistribute it and/or modify # This script is free software; you can redistribute it and/or modify
@ -39,7 +40,7 @@ use Encode qw(encode_utf8);
use URI::Escape; use URI::Escape;
#use Data::Dumper; #use Data::Dumper;
my $version = "1.0.4"; my $version = "1.0.5";
@ -83,6 +84,7 @@ sub HEOSPlayer_Initialize($) {
"disable:1 ". "disable:1 ".
"mute2play:1 ". "mute2play:1 ".
"channelring:1 ". "channelring:1 ".
"add2qopt:1,2,3,4 ". #playNow,playNext,addToEnd,replaceAndPlay #lau -->
$readingFnAttributes; $readingFnAttributes;
foreach my $d(sort keys %{$modules{HEOSPlayer}{defptr}}) { foreach my $d(sort keys %{$modules{HEOSPlayer}{defptr}}) {
@ -603,6 +605,7 @@ sub HEOSPlayer_Set($$@) {
my $mid; my $mid;
my $cid = $args[0]; my $cid = $args[0];
my $aid = AttrVal($name, 'add2qopt', 4); #lau -->
my @path = split(",", $args[0]) if ( @args != 0 && $args[0] =~ /,/ ); my @path = split(",", $args[0]) if ( @args != 0 && $args[0] =~ /,/ );
$cid = $path[0] if ( scalar @path > 0); $cid = $path[0] if ( scalar @path > 0);
$mid = $path[1] if ( scalar @path > 1); $mid = $path[1] if ( scalar @path > 1);
@ -620,13 +623,15 @@ sub HEOSPlayer_Set($$@) {
if ( $cmd eq 'playPlaylist' ) { if ( $cmd eq 'playPlaylist' ) {
$heosCmd = $cmd; $heosCmd = $cmd;
$action = "sid=1025&cid=$cid&aid=4"; $action = "sid=1025&cid=$cid&aid=$aid"; #lau -->
#$action = "sid=1025&cid=$cid&aid=4"; #lau <--
} elsif ( $cmd eq 'playPlaylistItem' ) { } elsif ( $cmd eq 'playPlaylistItem' ) {
return "usage: playPlaylistItem name,nr" if ( scalar @path < 2); return "usage: playPlaylistItem name,nr" if ( scalar @path < 2);
$heosCmd = 'playPlaylist'; $heosCmd = 'playPlaylist';
$action = "sid=1025&cid=$cid&mid=$mid&aid=4"; $action = "sid=1025&cid=$cid&mid=$mid&aid=$aid"; #lau -->
#$action = "sid=1025&cid=$cid&mid=$mid&aid=4"; #lau <--
} elsif ( $cmd eq 'deletePlaylist' ) { } elsif ( $cmd eq 'deletePlaylist' ) {
@ -656,6 +661,7 @@ sub HEOSPlayer_Set($$@) {
my $param = shift( @args ); my $param = shift( @args );
my ($sid,$cid,$mid) = split /,/,$param; my ($sid,$cid,$mid) = split /,/,$param;
my $aid = AttrVal($name, 'add2qopt', 4); #lau -->
return "usage: $cmd sid[,cid][,mid]" unless( defined $sid || $sid eq "" ); return "usage: $cmd sid[,cid][,mid]" unless( defined $sid || $sid eq "" );
if ( $sid eq "1024" ) { if ( $sid eq "1024" ) {
@ -663,16 +669,20 @@ sub HEOSPlayer_Set($$@) {
#Server abspielen #Server abspielen
$heosCmd = 'playPlaylist'; $heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4"; $action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); $action = "sid=$sid&cid=$cid&mid=$mid&aid=$aid" if ( defined($mid) ); #lau -->
#$action = "sid=$sid&cid=$cid&aid=4"; #lau <--
#$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); #lau <--
} elsif ( $sid eq "1025" ) { } elsif ( $sid eq "1025" ) {
return "usage: $cmd sid,cid[,mid]" unless( defined($cid) ); return "usage: $cmd sid,cid[,mid]" unless( defined($cid) );
#Playlist abspielen #Playlist abspielen
$heosCmd = 'playPlaylist'; $heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4"; $action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); $action = "sid=$sid&cid=$cid&mid=$mid&aid=$aid" if ( defined($mid) ); #lau -->
#$action = "sid=$sid&cid=$cid&aid=4"; #lau <--
#$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); #lau <--
} elsif ( $sid eq "1026" ) { } elsif ( $sid eq "1026" ) {
return "usage: $cmd sid,cid,mid" unless( defined($cid) ); return "usage: $cmd sid,cid,mid" unless( defined($cid) );
@ -681,8 +691,10 @@ sub HEOSPlayer_Set($$@) {
if ( $cid eq "TRACKS" ) { if ( $cid eq "TRACKS" ) {
$heosCmd = 'playPlaylist'; $heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4"; $action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); $action = "sid=$sid&cid=$cid&mid=$mid&aid=$aid" if ( defined($mid) ); #lau -->
#$action = "sid=$sid&cid=$cid&aid=4"; #lau <--
#$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); #lau <--
} elsif ( $cid eq "STATIONS" ) { } elsif ( $cid eq "STATIONS" ) {
@ -734,8 +746,10 @@ sub HEOSPlayer_Set($$@) {
#Server abspielen #Server abspielen
$heosCmd = 'playPlaylist'; $heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4"; $action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); $action = "sid=$sid&cid=$cid&mid=$mid&aid=$aid" if ( defined($mid) ); #lau -->
#$action = "sid=$sid&cid=$cid&aid=4"; #lau <--
#$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) ); #lau <--
} }
} }
@ -1174,6 +1188,7 @@ sub HEOSPlayer_makeImage($$) {
<ul> <ul>
<li>channelring - when reaching the last favorite ChannelUp/Down switches in circle, i.e. to the first/last favorite again</li> <li>channelring - when reaching the last favorite ChannelUp/Down switches in circle, i.e. to the first/last favorite again</li>
<li>mute2play - if mute switch on speaker is pressed, the stream stops</li> <li>mute2play - if mute switch on speaker is pressed, the stream stops</li>
<li>add2qopt - when adding content to the queue: defines into which position within the queue and if playing is started immediately: 1-play now, 2-play next, 3-only add to end of queue, 4-replace and play (default if not set within the device)</li>
</ul> </ul>
</ul> </ul>
@ -1270,6 +1285,7 @@ sub HEOSPlayer_makeImage($$) {
<ul> <ul>
<li>channelring - Beim Erreichen des letzten Favoriten schaltet ChannelUp/Down im Kreis, also wieder auf den ersten/letzten Favoriten</li> <li>channelring - Beim Erreichen des letzten Favoriten schaltet ChannelUp/Down im Kreis, also wieder auf den ersten/letzten Favoriten</li>
<li>mute2play - Beim Bet&aumltigen der Mute-Taste am Lautsprecher wird auch der Stream angehalten</li> <li>mute2play - Beim Bet&aumltigen der Mute-Taste am Lautsprecher wird auch der Stream angehalten</li>
<li>add2qopt - Beim Hinzuf&uumlgen von Inhalten in die Warteschlange: definiert an welcher Position innerhalb der Warteschlange hinzugef$uumlgt wird und ob die Wiedergabe sofort gestartet wird: 1-sofort wiedergeben, 2-als n&aumlchstes wiedergeben, 3-nur ans Ende der Warteschlange anh&aumlngen, 4-Warteschlange ersetzen und sofort wiedergeben (Voreinstellung, wenn nicht im device gesetzt)</li>
</ul> </ul>
</ul> </ul>