View Single Post
Old 3rd January 2021, 23:00   #1
ishani
Junior Member
 
Join Date: Jan 2021
Posts: 1
plugin for extracting file metadata -> 3rd party apps

Heyo; a quick plug for something I wrote today in case anyone else finds it useful. Something like it may already exist but I couldn't find a good solution so decided to crack out the SDK and fix it quick

https://github.com/EndlesssTrackClub/winamp-metacast

This is a general plugin that feeds the currently playing track's metadata - title, album, artist, etc - as a JSON fragment into a piece of global windows memory that can then be read by other apps. Hooks and reacts to IPC_CB_MISC_STATUS, so only updates when the app state changes.



I structured it like this so that it was easy to hack on doing things with the metadata without having to recompile the plugin or always work in C++. An example C# 'receiver' app is provided as a demo.

So - in my specific case - I could get track info formatted into some files constantly for use with OBS, when streaming some music + MilkDrop viz. The demo app takes in some config like the below and emits metadata into specified files.

code:

{
"Configs" :
[
{
"Formatting" : " V%discNum% | %trackNum% - %title% ",
"FileTarget" : "D:\\now_playing_1.txt"
},
{
"Formatting" : " %artist% ",
"FileTarget" : "D:\\now_playing_2.txt"
}
]
}



example metadata from Winamp -> receiver.exe -> OBS labels -> YouTube Live


.. as I say, it was written quickly and I may be making Winamp faux pas in the code, but so far it's working out great.
ishani is offline   Reply With Quote