Author Topic: Now Playing to External Files  (Read 114840 times)

boroda

  • Sr. Member
  • ****
  • Posts: 4623
Plugin writes tag info into external files according to the music you are listening.

Full description and download link

Provide feedback on this topic
Last Edit: August 15, 2022, 04:43:22 PM by boroda

mrad

  • Guest
This is a genius little plugin, i'm sure people simply don't get it - yet!! (released April and no comment - wth!)

In a nutshell, this plugin outputs what MB is doing real time TO A TEXT FILE
so ANY language, ANY script can automate an action based on the text content,
with no need for MB API!

Think... this coupled with a stretchable RainMeter graphic view port.

Think... changing your desktop wallpaper based on the genre you are listening to.

Think... you have a file corresponding to the current played track, you can use this to automate viewing that file in another app (e.g. pdf)

--

1) Suggestion, all artworks currently being used should be added as a field to output ;-)

This would allow those great high res *.dat graphics fetched by MB to be placed into one or several
Rainmeter wallpaper slideshows spanning multiple monitors for a collage :)

2) Suggestion, more tags to be output to text file (limit is 4).

3) Suggestion, instead of Separator <tab> can we use <nl> ?
Last Edit: August 19, 2013, 03:59:06 PM by mrad

adekker

  • Guest
Hi,
I don't fully understand how to use this plug-in to open pdf files in the same folder as the music album.
Is that possible and how should I configure the plug-in?
I don't see any explanation of the plug in.
Thanks

mrad

  • Guest
Explanation really isn't needed as the one introduction line says it all. You do need some imagination, this plugin excels when you add your own creativity.

As stated, this plugin will output details of the current played track.

Install, reload mb, and look at Edit menu -> Preferences -> Plugins -> ""now playing' to text file" - then press "Configure" for text file save path and output selection, simple.

Therefore, with a bit of googling you can create a batch script to monitor the save location for when this plugin updates the text file, then you can read the text file to get the song path, which you can scan for all *.pdf files and go from there.,

Alternatively to creating a script, you could use the FileView and Update plugins of Rainmeter 3 with a modified nowplaying skin where you add a button to the skins' album art display that will invoke your pdf viewer with the album related *.pdf

Just two ideas that are possible thanks to this great plugin.
Last Edit: August 20, 2013, 03:27:50 PM by mrad

boroda

  • Sr. Member
  • ****
  • Posts: 4623
1) Suggestion, all artworks currently being used should be added as a field to output ;-)

This would allow those great high res *.dat graphics fetched by MB to be placed into one or several
Rainmeter wallpaper slideshows spanning multiple monitors for a collage :)

2) Suggestion, more tags to be output to text file (limit is 4).
I'll do that. What number of tags do you need? Do you want only 1st picture or all pictures from track's folder to be output?

3) Suggestion, instead of Separator <tab> can we use <nl> ?
Its already possible with "<cr>" (u+000A) and "<lf>" (u+000D).

mrad

  • Guest
Ooer, just noticed an issue...
Setup...
Preferences -> General -> "minimise to:" = "Mini Player"
Preferences -> General -> "start minimised:" =  enabled
Preferences -> Player -> "on startup:" = "resume position"

Steps... Exit mb **mid way** through a track. Start mb. Press play |> on the mini player to resume playback.
Result... The text file is empty = bug?


3) Suggestion, instead of Separator <tab> can we use <nl> ?
Its already possible with "<cr>" (u+000A) and "<lf>" (u+000D).
Fails. Result... "<cr>" = "" and "<cr><lf>"  = ""


1) Suggestion, all artworks currently being used should be added as a field to output ;-)

This would allow those great high res *.dat graphics fetched by MB to be placed into one or several
Rainmeter wallpaper slideshows spanning multiple monitors for a collage :)

2) Suggestion, more tags to be output to text file (limit is 4).
I'll do that.
1) Do you want only 1st picture or all pictures from track's folder to be output?
2) What number of tags do you need?
a1) This one is tricky for you, **IF** (and this is a big if) you could granularly cover *any* image path/filename currently used in the "Playing Track" tab view (i.e. those high-res images) and also *any* cover art, then i'm sure that would pair nicely with skin designers or desktop wallpaper coupling. I appreciate the hi-res files are *.dat but that's no biggy to copy-as *.jpg for the skin person -- the breadcrumb would be complete as far as this plug-in is concerned if the important path can be exposed.
a2) To cover peoples future ideas, 10 ?

One more additional idea, I understand this is tags, but that first field ('Beginning text:') sure could use a <current-filepathname> for completeness ;)
Last Edit: August 22, 2013, 01:16:03 AM by mrad

boroda

  • Sr. Member
  • ****
  • Posts: 4623
Ooer, just noticed an issue...
Setup...
Preferences -> General -> "minimise to:" = "Mini Player"
Preferences -> General -> "start minimised:" =  enabled
Preferences -> Player -> "on startup:" = "resume position"

Steps... Exit mb **mid way** through a track. Start mb. Press play |> on the mini player to resume playback.
Result... The text file is empty = bug?
Plugin is very simple, its probably some bug in MB.

Fails. Result... "<cr>" = "" and "<cr><lf>"  = ""
There is a bug, try <lf><cr> for now, but I'll fix this.

a1) This one is tricky for you, **IF** (and this is a big if) you could granularly cover *any* image path/filename currently used in the "Playing Track" tab view (i.e. those high-res images) and also *any* cover art, then i'm sure that would pair nicely with skin designers or desktop wallpaper coupling. I appreciate the hi-res files are *.dat but that's no biggy to copy-as *.jpg for the skin person -- the breadcrumb would be complete as far as this plug-in is concerned if the important path can be exposed.
I'm afraid its too tricky. I can do something simple like writing filename the same as track filename, but with different extension and/or writing some common to all tracks pictures by file mask.

a2) To cover peoples future ideas, 10 ?
OK, let be 10.

One more additional idea, I understand this is tags, but that first field ('Beginning text:') sure could use a <current-filepathname> for completeness ;)
You already can use 'URL' tag for this.

mrad

  • Guest
Ooer, just noticed an issue...
Setup...
Preferences -> General -> "minimise to:" = "Mini Player"
Preferences -> General -> "start minimised:" =  enabled
Preferences -> Player -> "on startup:" = "resume position"

Steps... Exit mb **mid way** through a track. Start mb. Press play |> on the mini player to resume playback.
Result... The text file is empty = bug?
Plugin is very simple, its probably some bug in MB.
Ah okay, I guess you can resolve that with Steven ;)


Fails. Result... "<cr>" = "" and "<cr><lf>"  = ""
There is a bug, try <lf><cr> for now, but I'll fix this.
That works.


a1) This one is tricky for you, **IF** (and this is a big if) you could granularly cover *any* image path/filename currently used in the "Playing Track" tab view (i.e. those high-res images) and also *any* cover art, then i'm sure that would pair nicely with skin designers or desktop wallpaper coupling. I appreciate the hi-res files are *.dat but that's no biggy to copy-as *.jpg for the skin person -- the breadcrumb would be complete as far as this plug-in is concerned if the important path can be exposed.
I'm afraid its too tricky. I can do something simple like writing filename the same as track filename, but with different extension and/or writing some common to all tracks pictures by file mask.
Yes, I think you have the same idea to what I was suggesting. Just like track filename, output image filenames currently in use. And yeah, do not worry about extensions - that's all I was saying.


One more additional idea, I understand this is tags, but that first field ('Beginning text:') sure could use a <current-filepathname> for completeness ;)
You already can use 'URL' tag for this.
Nope. I think you missed this idea. The current played track is located anywhere, e.g. usb connected device, disk drive, url, network.
The placeholder <current-filepathname> would expose where that location is. Whereas URL is something different.
Last Edit: August 23, 2013, 12:06:15 PM by mrad

boroda

  • Sr. Member
  • ****
  • Posts: 4623
You already can use 'URL' tag for this.
Nope. I think you missed this idea. The current played track is located anywhere, e.g. usb connected device, disk drive, url, network.
The placeholder <current-filepathname> would expose where that location is. Whereas URL is something different.
I know that name 'URL' is slightly confusing, but 'URL' tag is just full filename (with path) for local files.

boroda

  • Sr. Member
  • ****
  • Posts: 4623
Yes, I think you have the same idea to what I was suggesting. Just like track filename, output image filenames currently in use. And yeah, do not worry about extensions - that's all I was saying.
I cant retrieve which files are in use by MB, so what I'm planning is to write 1st file name which has the same filename as currently played track, but different extension.

mrad

  • Guest
You already can use 'URL' tag for this.
Nope. I think you missed this idea. The current played track is located anywhere, e.g. usb connected device, disk drive, url, network.
The placeholder <current-filepathname> would expose where that location is. Whereas URL is something different.
I know that name 'URL' is slightly confusing, but 'URL' tag is just full filename (with path) for local files.
Hmm, ok but my music is on a networked PC at
\\xx.xx.xx.xx\music\genre\artist\album\
therefore <URL> produces no output. As you said, it is for local files, so my wishlist request is still true.

mrad

  • Guest
Yes, I think you have the same idea to what I was suggesting. Just like track filename, output image filenames currently in use. And yeah, do not worry about extensions - that's all I was saying.
I cant retrieve which files are in use by MB, so what I'm planning is to write 1st file name which has the same filename as currently played track, but different extension.
Yes, but if you ask Steven, then maybe he can make these dynamic variables available to you, the API, and therefore everyone else.

boroda

  • Sr. Member
  • ****
  • Posts: 4623
New plugin version released.

  • Number of tags are extended to 10.
  • Fixed that file properties (e.g. "URL") didn't produce output.
  • Fixed "<cr><lf>" sequence as new line.


See plugin wiki page for download link.

joejoe

  • Guest
This plugin sounds like it has a lot of potential but i am not a very advanced computer user.  Maybe if mrad wrote a few how tos on his ideas for it ( if its not to much trouble of course) it would help users like myself.

Thank You

mrad

  • Guest
New plugin version released.

  • Number of tags are extended to 10.
  • Fixed that file properties (e.g. "URL") didn't produce output.
  • Fixed "<cr><lf>" sequence as new line.


See plugin wiki page for download link.

Tested with 2.2.4984, and all fixed features work.
Curious why the verbatim text "URL" is used, instead of ... if("url"==element) then uiComboItem="filepath" but hey ho.

Thank you :)