/usr/share/anyremote/cfg-data/iViewer/iviewer-template.cfg is in anyremote-data 6.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | %
% anyremote configuration file for XXXX management. (Server-mode Command Fusion iViewer)
% prerequisites: Iviewer client installed on Ipod touch/Iphone 2.x and Iviewer free winamp GUI
%
%
% An important note:
%
% Heartbeat messages are sent every 3 seconds and the maximal waiting time is only 5 seconds.
% If no responces are comes in that short period of time, then iViewer will show the warning message.
% So, it is strongly suggested to write _fast_ and _effective_ commands.
% Keep in mind timers which also will consume some amount of time.
%
% STATUS stable
% XTEST no
% SOUND mixer
% ENV no
GuiAppName=Template
GuiAppBinary=true
GuiAppRun= P=`ps -ef|grep my-app|grep -v grep|grep -v anyremote|grep -v edit`; if [ "x$P" = "x" ]; then echo NOK; else echo OK; fi
GuiAppIcon=file.png
GuiAppType=Example
GuiAppProtocols=iViewer
GuiAppDesc=This is template file for CommandFusion iViewer
[Protocol]=iViewer
%a1 = volume
%a2 = seek bar (needs to update constantly)
%s1 = artist
%s2 = track
%s5 = current playback in min:sec
%s6 = song length min:sec.
% play
d1(1)=\
Exec(echo Play);\
Macro(TITLE);
% stop
d30(1)=\
Exec(echo Stop);\
Macro(AM_RESET_COVER);
% pause
d31(1)=\
Exec(echo Pause);
% next
d5(1)=\
Exec(echo next);\
Macro(TITLE);
% prev
d6(1)=\
Exec(echo previous);\
Macro(TITLE);
% toggle repeat
d12(1)=\
Exec(echo "Toggle repeat")
% toggle shuffle
d9(1)=\
Exec(echo "Toggle shuffle")
% volume contol
a1($$)=\
Make(var,default_mixer_value,by_value,$(Index));\
Macro(DEFAULT_VOLUME_SET);\
Macro(VOLUME);
% seek >> and <<
a2($$)=\
Make(var,seek,echo "$(Index)*100/65535"|bc);\
Exec(echo "got $(Index)");\
Exec(echo "set position to $(seek)%");\
Macro(PLAYBACK);
% Feedback
PLAYBACK=\
Send(string,s5=);ExecAndSend(string,echo "01:00");Send(bytes,3);\
Make(var,playback_persent,echo "65535*"`echo 50`"/100"|bc);\
Send(string,a2=$(playback_persent));Send(bytes,3);
% get volume: 0 - 65535
VOLUME=\
Macro(DEFAULT_VOLUME_GET);\
Send(string,a1=$(default_mixer_value));Send(bytes,3);
% Artist name
ARTIST=ExecAndSend(string,echo "Artist is ...");
% Track
TRACK=\
ExecAndSend(string,echo "Track is ...");
% Song length mm:ss
SONG_LEN=\
ExecAndSend(string,echo "04:00");
% cover image generation
IV_COVER=\
Make(var,coverfile,echo "command to get file with cover image");\
Make(var,coverconverted,F=`basename "$(coverfile)"`;if [ "x$F" = "x" ]; then echo img_coverart-300.png;else convert "$(coverfile)" -resize 300 -depth 8 $(TmpDir)/generated_cover;echo generated_cover; fi);\
Send(string,s4=$(coverconverted));\
Send(bytes,3);
% reset cover to default image (if playback is stopped)
IV_RESET_COVER=\
Send(string,s4=img_coverart-300.png);\
Send(bytes,3);
%
% The following is a common part. In general, it should not be changed.
%
TITLE=\
Send(string,s1=);Macro(ARTIST);Send(bytes,3);\
Send(string,s2=);Macro(TRACK);Send(bytes,3);\
Send(string,s6=);Macro(SONG_LEN);Send(bytes,3);\
Macro(IV_COVER);
d5(0)=Macro(TITLE);
d6(0)=Macro(TITLE);
% Init
i(1)=Macro(TITLE);
% Password p(PASSWORD)"
p($$)=Send(string,p=ok);Send(bytes,3);
% Heartbeat (no heartbeat == connection is lost)
DISC=\
Macro(STOP_TIMERS);\
Make(disconnect);
h(0)=Timer(DISC,reset);
% no needs to send "h=1\03" replay directly because this will be done
% automatically - that controlled by $(IViewer) variable
% If $(IViewer) variable is not set it needs to use the following command:
% h(0)=Send(bytes,104,61,49,3);Timer(DISC,reset);
STOP_TIMERS=\
` Timer(PLAYBACK,cancel);\
Timer(VOLUME,cancel);\
Timer(TITLE,cancel);
% Event timers
(Init)=\
Include($(CfgDir)/Utils/aliases-iviewer.cfg);\
Macro(SETUP_DEFAULT_MIXER);\
Make(var,IViewer,by_value,true);
(Connect)=\
Timer(DISC,10,1);\
Timer(PLAYBACK,3,0);\
Timer(VOLUME,10,0);\
Timer(TITLE,5,0);
(Disconnect)=\
Macro(STOP_TIMERS);
[End]
|