Compare commits

...

1 Commits
dev ... testing

Author SHA1 Message Date
390338a080 add patch from laurello for variable aid 2021-01-29 12:24:14 +01:00

View File

@ -8,6 +8,7 @@
# Special thanks goes to comitters:
# - Olaf Schnicke Thanks for many many Code
# - Dieter Hehlgans Thanks for Commandref
# - laurello Thanks for variable $aid
#
#
# 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 Data::Dumper;
my $version = "1.0.4";
my $version = "1.0.5";
@ -83,6 +84,7 @@ sub HEOSPlayer_Initialize($) {
"disable:1 ".
"mute2play:1 ".
"channelring:1 ".
"add2qopt:1,2,3,4 ". #playNow,playNext,addToEnd,replaceAndPlay #lau -->
$readingFnAttributes;
foreach my $d(sort keys %{$modules{HEOSPlayer}{defptr}}) {
@ -603,6 +605,7 @@ sub HEOSPlayer_Set($$@) {
my $mid;
my $cid = $args[0];
my $aid = AttrVal($name, 'add2qopt', 4); #lau -->
my @path = split(",", $args[0]) if ( @args != 0 && $args[0] =~ /,/ );
$cid = $path[0] if ( scalar @path > 0);
$mid = $path[1] if ( scalar @path > 1);
@ -620,13 +623,15 @@ sub HEOSPlayer_Set($$@) {
if ( $cmd eq 'playPlaylist' ) {
$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' ) {
return "usage: playPlaylistItem name,nr" if ( scalar @path < 2);
$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' ) {
@ -656,6 +661,7 @@ sub HEOSPlayer_Set($$@) {
my $param = shift( @args );
my ($sid,$cid,$mid) = split /,/,$param;
my $aid = AttrVal($name, 'add2qopt', 4); #lau -->
return "usage: $cmd sid[,cid][,mid]" unless( defined $sid || $sid eq "" );
if ( $sid eq "1024" ) {
@ -663,16 +669,20 @@ sub HEOSPlayer_Set($$@) {
#Server abspielen
$heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4";
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) );
$action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$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" ) {
return "usage: $cmd sid,cid[,mid]" unless( defined($cid) );
#Playlist abspielen
$heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4";
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) );
$action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$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" ) {
return "usage: $cmd sid,cid,mid" unless( defined($cid) );
@ -681,8 +691,10 @@ sub HEOSPlayer_Set($$@) {
if ( $cid eq "TRACKS" ) {
$heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4";
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) );
$action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$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" ) {
@ -734,8 +746,10 @@ sub HEOSPlayer_Set($$@) {
#Server abspielen
$heosCmd = 'playPlaylist';
$action = "sid=$sid&cid=$cid&aid=4";
$action = "sid=$sid&cid=$cid&mid=$mid&aid=4" if ( defined($mid) );
$action = "sid=$sid&cid=$cid&aid=$aid"; #lau -->
$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>
<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>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>
@ -1270,6 +1285,7 @@ sub HEOSPlayer_makeImage($$) {
<ul>
<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>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>