Based on the popular foobar2000 Now Playing Simple plugin, this one offers the same functionality with one key difference: multiple instances can be defined, each with its own unique set of options. First instance may write what is currently playing, second logging playback, third writing a progress bar and so on..
Since NPS source was nowhere to be found, this had to be written from scratch. The project is still in its early stages. If you find any problems please open an issue here. If you want to submit a pull request, feel free to do so.
Only tested on 1.4 so far.
- Multiple instances
- Logging mode
- Write delay
- Write on exit
- Asynchronous writes
- Import/export configuration in JSON format
- Output to clipboard
- Character encoding
- Trigger events
- Playback start/pause/seek
- Playback stop (except when changing track)
- Playback time (once per second)
- New track
- Track edited
- Dynamic info
- Volume change
- Variables
%volume%
(dB)%datetime%
(full date and time)%time%
(time only)%playing_playlist_name%
(playlist from which playing items are taken from)%active_playlist_name%
- Functions
$strftime('<format>')
- custom formatted time (see here for format specifiers, modifiers not supported)
Format: $if(%isplaying%,$if(%ispaused%,||,|>) $if($meta_test(artist,title),%artist% - %title% ,%title%))
Events: New track, Playback stop, Playback pause
Output:
- Playing:
|> Muzzy - Junction Seven
- Paused:
|| Muzzy - Junction Seven
- Empty when stopped
Format: $strftime('[%d/%m/%y %T]') $if($meta_test(artist,title),%artist% - %title% ,%title%)
Events: New track
Options: Log mode enabled, Changes only
Output: [10/9/18 12:00:01] Muzzy - Junction Seven
Format: $if(%isplaying%,$progress(%_time_elapsed_seconds%,%_time_total_seconds%,20,$if(%ispaused%,|,#),'=') %playback_time%/%length%)
Events: New track, Playback stop, Playback pause, Playback time
Output:
- Playing:
==============#===== 3:40/5:05
- Paused:
==============|===== 3:40/5:05
- Empty when stopped
Download the latest zipped release from here.
- Manual
- Unzip dll to
<foobar install path>\components
.
- Unzip dll to
- Via foobar preferences
- Open
Components
page, clickInstall
, select the zip file and clickApply
.
- Open
VS2017 project files are included
- Clone the repository and all submodules
git clone --recurse-submodules -j8 https://github.com/nixnodes/foo_np_adv
- Make sure v141_xp toolset for Visual Studio is installed
- Load
foo_np_adv/foo_np_advanced.sln
and build