Plugin:AutoDJ

From ShoutIRC RadioBot Wiki
Jump to navigation Jump to search

The Auto DJ plugin is the next phase in station automation and is designed to fully automate your station when there is no Live DJ.

AutoDJ Components

Random Queue from one or more directories OR Advanced Playlists
Intro Files: AutoDJ will play "intro files" before playing songs if you add them. Note: the intro files will not play *every* time a song is played, especially if the AutoDJ Voice is enabled.
 The intro file should have the same name as the original file with .adjintro.mp3 appended to the filename. For example: test.mp3's intro file would be test.mp3.adjintro.mp3
Full Transcoding Auto DJ
Request System
WebRequest Support
Voice Support
Scheduler
Queue Plugins
 Memory Queue
 MySQL Queue
Decoders
 MP3 Decoder (libmpg123)
 OGG Decoder (libvorbisfile)
 FLAC Decoder (libflac)
 Waveform Decoder (Supports: WAV, AU, SND, PAF, VOC) (libsndfile)
 FFmpeg Decoder (Supports: many formats including audio from video files, depends on build/system)
 Playlist Decoder - Allows use of M3U, M3U8, and PLS playlists.
Encoders
 MP3 Encoder (libmp3lame)
 AAC Encoder (faac)
 AAC+ Encoder (libaacplus 2.0.x)
 Winamp Encoder (AAC+, lame, etc.)
 OGG Vorbis Encoder (libvorbisfile)
 OGG Opus Encoder - Note: icecast versions before the 2.4 beta do not support the Opus codec. (libogg + libopus)
 FFmpeg Encoder (can be used to stream different container/codec combinations)
Feeders
 SHOUTcast v2 Feeder
 SHOUTcast v1 Feeder
 IceCast2 Feeder
 Steamcast Feeder
Timing Control

PM/Console Commands

Commands Flags Needed Description
!autodj-stop +s Counts down until song is over and disconnects so a Live DJ can connect. AutoDJ will turn back on after a timeout (default: 10 seconds)
!autodj-force +a Force AutoDJ to disconnect and stop anything it is doing.
!autodj-play +s Connect and start playing MP3s.
!autodj-reload +a Reloads the playlist and re-writes the HTML playlist (if specified in .conf)
!autodj-next +a Stops playing current song and goes to the next one.
!autodj-move
!autodj-move now
!autodj-move filename
+mo (any) When the current song is over it will be moved into the MoveDir defined in the AutoDJ/Options section of your ircbot.conf.
If now is specified it also skips to the next song immediately.
If a filename is specified it will move that file instead. This parameter takes just a filename just like !request, not a full path and filename.
!youtube-dl url or keyword(s) +a Downloads a YouTube video to the YouTubeDir folder.
!youtube-play [once] url or keyword(s) +a Downloads a YouTube video to the YouTubeDir folder and plays the audio. If once is specified the file is deleted afterwards.
!autodj-reqlist +a This will make AutoDJ show you a list of the currently requested/scheduled songs.
!autodj-reqdelete filename/wildcard +a This will make AutoDJ delete the first requested/scheduled song that matches the filename/wildcard you give.
!autodj-requests [on][off] +a This will make toggle whether AutoDJ will take requests from users.
You can also specify on or off to turn requests on or off.
!autodj-relay +mo (any) Queue's any file on the filesystem, or a stream (stream://host:port/;file.mp3)
!autodj-speak text +mo (any) This will make AutoDJ speak the specified text at the end of the current song (Voice must be enabled).
!autodj-chroot dir[;dir] +mo (any) Changes the content directory on the fly.
!autodj-name +mo (any) Changes the name sent to the sound server on the fly.
!autodj-modules +mo (any) This will display the currently loaded AutoDJ plugins.
!autodj-songtitle title +a This will make AutoDJ send the specified song title to your song server.
!autodj-dopromo +a This will make AutoDJ play a set of your promos after the current song.
!autodj-countdown   This will countdown the current song until it is over (but will not disconnect the bot for a DJ to connect like !autodj-stop)

Channel Commands

Commands Flags Needed Description
!next +a Stops playing current song and goes to the next one.
!songby artist +q Queue's a random song by the specified artist.
!countdown   This will countdown the current song until it is over (but will not disconnect the bot for a DJ to connect like !autodj-stop).
!move
!move now
!move filename
+mo (any) When the current song is over it will be moved into the MoveDir defined in the AutoDJ/Options section of your ircbot.conf.
If now is specified it also skips to the next song immediately.
If a filename is specified it will move that file instead. This parameter takes just a filename just like !request, not a full path and filename.
!relay +mo (any) Queue's any file on the filesystem, or a stream (stream://host:port/;file.mp3).
!youtube-dl url or keyword(s) +a Downloads a YouTube video to the YouTubeDir folder.
!youtube-play [once] url or keyword(s) +a Downloads a YouTube video to the YouTubeDir folder and plays the audio. If once is specified the file is deleted afterwards.

Remote Commands

Responds to standard 0x3X source control codes

IPC Messages Supported

Supports all source messages.

Configuration

See ircbot.conf for example config, or the Configuration page.

Custom Messages

When AutoDJ is about to play a requested song, the following extra variables will be available for the AutoDJ_ReqToChans or ReqToChans message:

%request - The nick of the person who requested the song
%nextsong% - The title of the song it is about to play
%nextrating% - The rating of the song it is about to play
%nextvotes% - The number of votes for the song it is about to play

If you are using the AutoDJ Voice, you can customize what it says by defining messages in your ircbot.text.
For example, here are the defaults:

ADJVoice_0=You are listening to ShoutIRC Radio. Coming up next: %song
ADJVoice_1=This is Auto DJ, the bot with Style. Coming up next: %song
ADJVoice_2=This is Auto DJ spinning. Next up is: %song
ADJVoice_3=Coming up next: %song
ADJVoice_4=You are listening to ShoutIRC Radio. Next up is: %song
ADJVoice_5=This is Auto DJ spinning. Coming up next: %song
ADJVoice_6=Now playing: %song

Libraries in use by AutoDJ Plugins

MP3 Decoder (adj_dec_mp3.dll/so)
 LibSSMT by Drift Solutions for reading ShoutIRC Streaming Meta Tags
 libmpg123 (LGPL)
 taglib for reading ID3 (v1 & v2) and MusicMatch tags (LGPL)
MP3 Encoder (adj_enc_mp3.dll/so)
 libmp3lame for encoding the mp3 stream (LGPL)
AAC Encoder (adj_enc_aac.dll/so)
 faac for encoding the AAC stream (LGPL)
AAC+ Encoder (adj_enc_aacplus.dll/so)
 libaacplus 2.0.x for encoding the AAC+ stream (LGPL)
ffmpeg Encoder (adj_enc_ffmpeg.dll/so)
 Uses libavformat/libavcodec (LGPL)
OGG Decoder (adj_dec_ogg.dll/so)
 libvorbisfile for decoding OGG audio files (Xiph.org License)
FLAC Decoder (adj_dec_flac.dll/so)
 libflac for decoding FLAC audio files (New BSD License)
Waveform Decoder (adj_dec_wav.dll/so)
 libsndfile (LGPL)
FFmpeg Decoder/Encoder (adj_decenc_ffmpeg.dll/so)
 This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here.
 Current Win32 FFmpeg revision: git-511585c

Compatibility

Plugin Compatibility: RadioBot Basic RadioBot Full
Supported: Yes Yes



RadioBot vde

RadioBot main pages
Main PageInstallationChangelogCommandsPluginsFAQConfigurationCreditsRemote ClientBuilt-In VariablesMulti Sound Server ModeUsername Character Restrictions
Auto DJ Pages
Auto DJ Main PageWebRequest SystemSchedulerMP3 EncoderVoice SupportMySQL Plugin