A foobar2000 component that announces events as well as track metadata via OutputDebugString, which allows for easy capture in other programs.
-
D6FNP_INITSent when the plugin is loaded (e.g foobar2000 starts)
-
D6FNP_QUITSent when the plugin is unloaded (e.g when foobar2000 exits)
-
"D6FNP_STATECHANGE_PLAY!"Sent when playback is started.
-
D6FNP_STATECHANGE_PAUSE;D6FNP_PBPAUSESent when playback is paused.
-
D6FNP_STATECHANGE_RESUMESent when playback is resumed.
-
D6FNP_STATECHANGE_SETTRACK(I forgot when this happens, see:
play_control::track_command_settrack, probably never occurs) -
D6FNP_STATECHANGE_STOPSent when playback is stopped.
-
D6FNP_NEWTRACKSent when a new track is starting, e.g when a song ends or you skip to the next.
-
D6FNP_SONGINFOOccurs at the same time as
D6FNP_NEWTRACK, contains all the useful song information encoded as base64 and separated by|.
Notes:
- In this example we replaced the
|separator by line breaks to make it readable. - Every value is separately encoded in base64 to retain Unicode characters of different languages.
D6FNP_SONGINFO!
%title%
%artist%
%album artist%
%album%
%codec%
%bitrate%
%samplerate%
$info(bitspersample)
%filesize%
$year(%date%)
%discnumber%
%tracknumber%
%length_seconds%
%path%
$directory_path(%path%)
%rating%
Populated example:
D6FNP_SONGINFO!
Moonlight
Asterisk feat. 那由多
Lost Landscape
Lilium Records
FLAC
1045
44100
16
35396699
2018
1
1
269
G:\example_path\music\Lilium Records - Lost Landscape\01. Moonlight.flac
G:\example_path\music\Lilium Records - Lost Landscape\
8
You can use Dbgview.exe to view the messages: https://docs.microsoft.com/en-us/sysinternals/downloads/debugview