The irmp3d multimedia daemon can be controlled through many medias. You can send command through the irmp3 command, through LCDproc input, through network connections, but all these method will end up sending commands to the irmp3 daemon which will try to execute them.
This is a list of all supported commands, their syntax and effect.
these commands are used by the imp3d daemon itself, they are not used by the modules.
Reloads all config files (like sending a SIGHUP to IRMP3)
These commands changes the way irmp3d reports information to the user.
- environment <name>
groups of commands can be defined in the configuration file. this command will issue to irmp3d the commands named name
- beep [enable|disable]
Enables/disables beeps when certain commands are entered. (currently only sleep and shuffle)
- beep on <string>
Instructs IRMP3 to make an "on" beeping noise when this command is encountered.
- beep off <string>
Instructs IRMP3 to make an "off" beeping noise when this command is encountered.
- network filter <regex>
(supported only by mod_netctl and when connected via a network) Filters messages sent to your network socket. Matching messages will not be sent.
use network filter 230 to filter out all the anoying time messages in output
- displaymode [0|1]
Sets the LCD display to display elapsed time in song or remaining time in song.
- query <item>
Retrieve information about the state of IRMP3 and the currently playing song, where item is "status", "volume", "bass", "treble", "mute","shuffle", "repeat", "songcmd", "songtype", "songplayer", "title", "artist", "album", "year", "comment", "genre", "time", "playlist", "plpos", "plfiles" or "pldirs","whocanplay <file type>","songtype <song>"
"mp3file" is equivalent to songcmd, but is deprecated. please use "songcmd" instead
These commands will directly affect the currently playing file. This is where you will find commands like play, stop, pause, forward etc...
Stop playing, the current player will stay ready for the next song
Stop playing, and stop all players, releasing the audio device.
- play <song>
Load and play the specified song. <song> may be: any valid mpg3 file/stream (mpg123)
Pause / unpause the current song
- seek [+|-]<offset>
Seeks to the specified absolute or relative offset (given as a value of seconds). This may be a little inaccurate if playing compressed streams like mp3.
Use "seek +2" to skip forward a little.
Use "seek -2" to rewind a little.
Use "seek 0" to seek to the beginning.
- cd load [<device>]
Load a CD and create playlist for it. CD may be an audio cd or data cd the device is the device as configured in the irmp3d configuration file. if it is not specified, 0 will be used
- cd loadplus [<device>]
like cd load, but doesn't clear the playlist first
- cd eject [<device>]
Try to eject cd. If it fails, stop playing and try again. the device is the device as configured in the irmp3d configuration file. if it is not specified, 0 will be used
- cd eject2 [<device>]
Try to eject cd. the device is the device as configured in the irmp3d configuration file. if it is not specified, 0 will be used
- playtype <type> <song>
playes the specified song, using the specified type for player recognition
These commands will change the list of songs that will be played, and the order in which they will be played.
- playlist load <file>
Load and play the specified playlist. Clears previously loaded playlist. The playlist is an ascii file with one filename each line (a typical m3u file).
- playlist loadplus <file>
As for load but without clearing playlist.
- playlist loaddir <pattern>
Loads all files matching <pattern> as a new playlist. Directories will be searched recursively and standard wildcards are allowed. E.g:
- playlist loaddirplus <pattern>
As for loaddir but without clearing playlist.
- playlist clear
Clears the current playlist.
- playlist clearnostop
Clears the current playlist without stopping current song.
- playlist done
Playlist editing finished. Sort (if necessary) and play first entry.
- playlist add <file>
Adds the specified file to the playlist. The file should be a playable file (e.g. mp3 file). No playing is initiated.
- playlist addplus <file>
As for add, but starts playing and sends a notification message to the display. TP> playlist addtype <type> <file>
Adds the specified file to the playlist. The file should be a playable file (e.g. mp3 file). No playing is initiated. The type argument specifies what type should be used for player recognition.
- playlist addplustype <type> <file>
As for addtype, but starts playing and sends a notification message to the display.
- playlist jump [+|-]<offset>
Seeks to the specified absolute or relative song.
Use "playlist jump +1" to skip to the next song.
Use "playlist jump -1" to skip to the previous song.
Use "playlist jump 0" to jump to the first song.
- playlist jumpdir [+|-]<offset>
Seeks to the specified absolute or relative next directory in a playlist.
- playlist shuffle [0|1]
Sets random playorder of playlist. Modes are:
0 = shuffle off
1 = shuffle on
If you don't specify a mode, the current mode is toggled.
- playlist repeat [0|1|2]
Sets repeat mode. Modes are:
0 = repeat off
1 = repeat current
2 = repeat all
If you don't specify a mode, the current mode is toggled.
- playlist sort
Sorts the playlist by song (and directory) name. Automatic sorting can be defined in irmp3.conf
Once you have a list of songs, you usually want to have more than one list. the playlistlist commands allow you to manage a list of playlists.
- playlistlist load <file>;
Load and play the specified playlistlist file. A playlistlist file is a list of playlists. It's an ascii file with one filename of a playlist each line.
- playlistlist clear
Clears the current playlistlist.
- playlistlist jump [+|-]<offset>;
Seeks to the specified absolute or relative playlist.
If you use the LCDproc programm to display the irmp3 information on an LCD display, you usually wnat to be able to load files via a remote control or an lcdproc input device.
these commands will make irmp3d display/load/navigate a browser on the LCD device.
- browser cursor [+|-][step]
Scroll within a directory.
Use +<step>; to scroll down (+1 norm, +10 pgdown)
Use -<step>; to scroll up (-1 norm, -10 pageup)
Use <step>; for absolute cursor position
Use + or - only to skip to next letter
- browser back
Change to parent directory (like cd ..)
- browser into
Change into selected directory (like cd subdir)
- browser add
Add selected directory/mp3/m3u to current playlist and start playing if playlist was empty or Execute selected *.sh shell script if script execution is enabled in irmp3.conf and shell script is located below path 'browser_exec'
- browser play
Clear existing playlist, add selected directory/mp3/m3u to playlist and start playing
- browser clear
Clear playlist (like 'playlist clear') with additional LCD output
- browser setpwd <directory>;
Set parent directory to <directory>;. This may be an absolute path or relative to 'browser_root' Both, the absolute and relative statement must result in a path located below 'browser_root'
- browser show
Show parent directory and cursor without any further action (eg for entering browser mode)
- browser exec <shell script>;
Shell script (absolute path) to be executed. This script does NOT need to be located below 'browser_exec' - every file is accepted! No user specific command line parameters are allowed.
1st internal parameter passed to this script is a temporary file where the script can leave a message that will be displayed after execution. If no message is desired the script has to clear or delete this file. See scripts/README for details.
2nd internal parameter passed to this script is the current browser directory.
3rd internal parameter passed to this script is the current browser cursor.
4th internal parameter passed to this script is the current cursor's file type:
dir = directory
audio = audio/mp3 file
list = playlist
exec = executable shell script
other = any other file
These commands will let you change the volume and the balance through irmp3
- mixer volume [+|-]<value>;
Sets the master volume to <value>;. You may give absolute or relative (with +|-) values. <value> may be within 0..100.
- mixer balance [+|-]<value>;
Sets the balance. Range is -50..50, where -50 is left and 50 ist right. Only available on stereo soundcards.
- mixer bass [+|-]<value>;
- mixer treble [+|-]<value>;
Sets bass/treble value. Range is 0..100. Not available with every soundcard.
- mixer default
Reset mixer settings to defaults specified in configuration file.
- mixer mute [0|1]
Mutes sound until disabled. If no parameter is specified, the mute status will toggle. Adjusting the volume will send an implicit "mixer mute 0"
these commands allows to program an automatic shutdown of irmp3d in a given amount of time.
- sleep <time>; [<fadetime>;]
Activates the sleep timer. This will stop the player in <time>; minutes. A value of 0 disables the sleep timer. If you specify <fadetime>;, the volume will be decreased while the last <xtime>; minutes of <time>;.
this command allows you to enaable the alarm environments. these environments are specially predefined environments that can be triggered through SIGUSR1 and SIGUSR2
- alarm [enable|disable]
Enables/disables the use of alarms. Alarms are sent to IRMP3 via SIGUSR1 and SIGUSR2 and require the user to configure environment_alarm1 and/or environment_alarm2 in irmp3.conf
the environment module allows you to store a bunch of (semi-column separated) commands in special config option, and then call them all with a single environment command
- environment <environment name>
if a config option environment_<environment name> exists the associated commands are executed
These commands are linked to the mod_kbd module to handle direct keyboard input
- kbd [enable|disable]
enables or disables the whole mod_kbd module
BACKWARD COMPATIBLE COMMANDS
These commands will still work for backward compatible reasons, but should not be used
- alarms [enable|disable]
alias for alarm [enable|disable]
This section should only usefull to module programmers, and to understand the output of mod_netctl. Events are generated when the internal state of irmp3d changes, and are used by modules to react to other modules state.
Events are internal irmp3d events that are signaled on the MSGTYPE_EVENT message queue. they are generated by modules on special cases and can be detected and used by other modules if they need. These are not orders, nobody has to react to them.
- idle <time>
This event is generated by mod_idle every "idle_interval" seconds which is defined in the irmp3d config file Time is the number of seconds since the last action took place
- mixer <type> <value>
This event is generated by mod_mixer when a volume element is changed. the types are volume, mute, balance, bass, treble,
For mute, a 0 is unmutting, a 1 is mutting. a "mixer volume" is also sent after the mute event. For any other types, the value is the corresponding volume.
- alarm <type>
This event is generated by mod_alarm when alrams are globally enabled (1) or disabled (0)
- repeat <type>
This event is generated by mod_playlist whenever the repeat method is changed type can be no repeat (0) repeat current song (1) repeat all song (2)
- shuffle <type>
generated by mod_playlist when the shuffle status changes. this is either on (1) or off (0)
- sleep <sleeptime> <fadetime>
This event is generated by mod_sleep when the sleeping configuration changes. the times are in minutes, a sleeptime of 0 means that the sleep function has been deactivated
- loadplaylist <playlist name>
generated by mod_playlist when a playlist is loaded.
generated by mod_player when playing is stoped (sound device isn't released)
- play <player> <song>
generated when the playing of a song has started
generated when the playing is halted (sound device is released)
generated when the playing is paused
generated when the playing is unpaused
- player error
generated when the player module didn't find an appropriate player for the song
- update <data name> <new data>
generated when some file data has changed (new title for the song in http strem for example) data name is the name of the data changed, new data is the new value