getmusicbee.com

MusicBee & Add-Ons => Customizations => Plugins => Topic started by: boroda on April 06, 2013, 02:07:19 PM

Title: Now Playing to External Files
Post by: boroda on April 06, 2013, 02:07:19 PM
Plugin writes tag info into external files according to the music you are listening.

Full description and download link (https://getmusicbee.com/addons/plugins/47/now-playing-to-external-files/)

Provide feedback on this topic
Title: Re: Now Playing to External Files
Post by: mrad on August 19, 2013, 03:36:09 PM
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> ?
Title: Re: Now Playing to External Files
Post by: adekker on August 20, 2013, 11:26:05 AM
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
Title: Re: Now Playing to External Files
Post by: mrad on August 20, 2013, 02:39:43 PM
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 (http://docs.rainmeter.net/manual-beta/plugins/fileview) and Update (http://docs.rainmeter.net/manual-beta/plugins/fileview#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.
Title: Re: Now Playing to External Files
Post by: boroda on August 21, 2013, 08:21:42 AM
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).
Title: Re: Now Playing to External Files
Post by: mrad on August 21, 2013, 11:19:27 PM
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 ;)
Title: Re: Now Playing to External Files
Post by: boroda on August 23, 2013, 06:27:55 AM
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.
Title: Re: Now Playing to External Files
Post by: mrad on August 23, 2013, 12:00:47 PM
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.
Title: Re: Now Playing to External Files
Post by: boroda on August 23, 2013, 02:21:06 PM
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.
Title: Re: Now Playing to External Files
Post by: boroda on August 23, 2013, 02:25:58 PM
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.
Title: Re: Now Playing to External Files
Post by: mrad on August 23, 2013, 07:53:57 PM
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.
Title: Re: Now Playing to External Files
Post by: mrad on August 23, 2013, 07:58:25 PM
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.
Title: Re: Now Playing to External Files
Post by: boroda on August 24, 2013, 07:31:59 AM
New plugin version released.



See plugin wiki page (http://musicbee.wikia.com/wiki/Now_Playing_to_text_file) for download link.
Title: Re: Now Playing to External Files
Post by: joejoe on August 24, 2013, 07:53:24 AM
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
Title: Re: Now Playing to External Files
Post by: mrad on August 25, 2013, 07:15:53 PM
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 (http://musicbee.wikia.com/wiki/Now_Playing_to_text_file) 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 :)
Title: Re: Now Playing to External Files
Post by: boroda on August 25, 2013, 08:09:23 PM
Curious why the verbatim text "URL" is used, instead of ... if("url"==element) then uiComboItem="filepath" but hey ho.
Because for web files is IS url :)
Title: Re: Now Playing to External Files
Post by: boroda on August 28, 2013, 07:54:15 AM
New plugin version released.



See plugin wiki page (http://musicbee.wikia.com/wiki/Now_Playing_to_text_file) for download link.
Title: Re: Now Playing to External Files
Post by: Drumstix42 on August 28, 2013, 10:05:18 PM
Might it be possible to have the output artwork set to a specified resolution? Some of my artwork is much bigger than others .
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 04:29:11 AM
Might it be possible to have the output artwork set to a specified resolution? Some of my artwork is much bigger than others .
Drumstix42: I don't agree with a setting for image size -- image manipulation should be handled externally as it's outside the scope of this plugin.

boroda74: Thank you for this feature addition - happy days :D

However, I wasn't sure...
a) if this feature would output all filetypes to whatever type is specified as the save name,
or...
b) if a folder should be specified to output whatever image type exists into defined folder,

so... I tried both methods, unfortunately, and strangely, I got 0 byte output.

fyi: Win7 portable installation to C:\Apps\MusicBeePortable

Many thanks again :)
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 05:17:34 AM
However, I wasn't sure...
a) if this feature would output all filetypes to whatever type is specified as the save name,
or...
b) if a folder should be specified to output whatever image type exists into defined folder,
Any image (no matter where its stored and what type of image is) set as primary image for the track in MB should be exported as .jpg

so... I tried both methods, unfortunately, and strangely, I got 0 byte output.
Strange. Can you see track's artwork in MB?
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 06:01:54 AM
so... I tried both methods, unfortunately, and strangely, I got 0 byte output.
Strange. Can you see track's artwork in MB?

Yup, I have Playing track as a main tab showing two gfx.
The zero byte save file is also locked after stopping the track so I cannot delete it using normal methods,
Therefore, I change the name in the settings (now adding a .jpg to the base filename) and still see zero byte file created.
mb 2.2.4985
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 06:50:03 AM
@mrad
Right-click on the track, select "Edit", select "Artwork" tab. Check if any of the images is marked as primary.
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 02:26:10 PM
Yes, the tracks have one embedded image marked "primary picture".
As a test I also adjusted (to no effect) ...
Preferences > Tags(1) > "artwork storage" > Set retrieval filter (button)

Even if not, then perhaps the first image found should be used as a default ;)
--------------------
Question: We have been arranging for the "primary picture" art.

MB downloads complementary hi-res large images and presents them in the ...
"Playing Track" main panel tab when the view is "Use MusicBee default layout"
and the following option is enabled ...
Preferences > Layout (1) > Configure Views (button) > Playing Track (tab) > artist photos
If "artist photos" is not enabled, MB displays a magnified primary picture.

Is this image data (which would make for wonderful wallpaper use) available via the API to you ?
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 04:21:50 PM
Is this image data (which would make for wonderful wallpaper use) available via the API to you ?
Suggest, yes. There are new functions in API that named "Library_GetArtistPicture_Managed" and "Library_GetArtistPictureUrls". I haven't tested them yet and they are not documented, but seem to be appropriate for this purpose from their names.
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 05:43:13 PM
New plugin version released.



See plugin wiki page (http://musicbee.wikia.com/wiki/Now_Playing_to_text_file) for download link.
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 06:32:37 PM
New plugin version released.

  • [1] Added possibility to export playing track artist's picture to predefined file.
  • [2] Fixed bug when plugin blocked album artwork file and stopped to update it.

    See plugin wiki page (http://musicbee.wikia.com/wiki/Now_Playing_to_text_file) for download link.
First, thank you for adding the new feature :D

Now, the report ...
[1] both images are output as 0 byte sized files as previously reported with the one image
[2] fixed :)
3) The tag "Lyrics ?" will output "Y [unsynched]" with embedded lyrics. I get the "?", but what about the actual lyrics?
4) bug: img no longer needed, removed.

thanks in advance.
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 06:59:19 PM
1) still zero byte size
2) fixed :)
Didn't understand what exactly is fixed and what is zero byte. Please explain.

3) The tag "Lyrics ?" will output "Y [unsynched]" with embedded lyrics. I get the "?", but what about the actual lyrics?
Its intended. "Lyrics?" is "Y [synced]" is track has synced "Y [unsynced]" if unsynced and "N" if track doesn't have lyrics. No matter if lyrics are embedded or not. I don't know how to get from api if lyrics are embedded or not. On the other hand I could export lyrics to external predefined file like with pictures.

4) bug:
Its fixed for the next update.
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 07:33:39 PM
1) still zero byte size
2) fixed :)
Didn't understand what exactly is fixed and what is zero byte. Please explain.
Sure, I've edited the [post adding a 1 + 2] (http://getmusicbee.com/forum/index.php?topic=9389.msg63300#msg63300) next to your bulletted items to clarify what I was referring to and adjusted the text a little

On the other hand I could export lyrics to external predefined file like with pictures.
I know it was intended ;) Yes please, a lyric file. And at every track play, delete the file if it exists and there are no lyrics.
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 07:53:14 PM
Turn on "Playing track panel", see 1st tab ("Details"):

[Image removed]

Do you see artist picture in MB?
Title: Re: Now Playing to External Files
Post by: boroda on August 29, 2013, 08:19:48 PM
Only album artworks, no artist pictures are found in Internet. That's why artist picture is zero byte.

As for zero byte album artwork, could you try this plugin version (http://www.mediafire.com/download/azccd7agysb2onf/mb_NowPlayingToTextFile.dll)? Post content of "C:\Windows\Temp\NP_Log.txt" when album artwork is zero size.
Title: Re: Now Playing to External Files
Post by: mrad on August 29, 2013, 09:08:09 PM
Only album artworks, no artist pictures are found in Internet. That's why artist picture is zero byte.
Ok, let us start over. Looking at the screenshot that I sent -- shows two individual artwork sources (the green arrows). Those two artworks are already on my computer.  The question was, does the MB API allow you to output those two localised images ?


Note: I have always observed MB displaying two images (green arrows) exactly as the second screenshot shows.
I guess we need to find out exactly what "Library_GetArtistPicture_Managed" and "Library_GetArtistPictureUrls" represent.
--
As for zero byte album artwork, could you try this plugin version (http://www.mediafire.com/download/ktja6j70ulb2wwj/mb_NowPlayingToTextFile.dll)? Post content of "C:\Windows\Temp\NP_Log.txt" when album artwork is zero size.
Sorry to report that "C:\Windows\Temp\NP_Log.txt" is 0 bytes
Title: Re: Now Playing to External Files
Post by: boroda on August 30, 2013, 05:48:07 AM
"C:\Windows\Temp\NP_Log.txt" is 0 bytes
This means that writing to this file is not finished. Was statusbar text "Writing tags to file..." already disappeared when you took a look at "NP_Log.txt"?

lyrics ;)
I remember :)
Title: Re: Now Playing to External Files
Post by: boroda on August 30, 2013, 07:12:46 AM
Here is new version of plugin (http://www.mediafire.com/download/2vnm737z9o58flc/mb_NowPlayingToTextFile.dll). Now writes tag info if "resume playback on startup" is enabled and writes lyrics to predefined file.
Title: Re: Now Playing to External Files
Post by: mrad on August 30, 2013, 12:43:07 PM
NP Test Report

Now writes tag info if "resume playback on startup"
Yes, this addresses the issue found, thank you.

writes lyrics to predefined file
Image) Red box UI lyrics area is not saved to "Lyrics file:", instead the file content is 3 hex bytes > $EF $BB $BF

Image 1) Successfully saved as content of "Artist picture:" (266 KB see Image 4)

Image 2) Track primary picture is not saved to "Artwork file:" (0 KB see Image 4) - fixed ;)

Was statusbar text "Writing tags to file..." already disappeared when you took a look at "NP_Log.txt"?
Image 3) Sorry, I dont know how to enable a traditional explorer style statusbar text. However, see new content of "NP_Log.txt" below the image

Image 4) Explorer view of NP files related to the current played track

(http://i.imgur.com/sGasR87.jpg?1)

At the time of the playing the track in the above image (0:52/4:51) ...

Content of NP_Log.txt
Code
null

Content of NowPlayingToTextFile.PropNamesErrorLog.txt
Code
Adding URL / Url
Adding Kind / Kind
Adding Format / Format
Adding Size / Size
Adding Channels / Channels
Adding Sample Rate / SampleRate
Adding Bitrate / Bitrate
Adding Date Modified / DateModified
Adding Date Added / DateAdded
Adding Last Played / LastPlayed
Adding Play Count / PlayCount
Adding Skip Count / SkipCount
Adding Time / Duration
Adding Track Gain / ReplayGainTrack
Adding Album Gain / ReplayGainAlbum

Content of NowPlayingToTextFile.TagNamesErrorLog.txt
Code
Adding <Not used> / -120
Adding Title / TrackTitle
Adding Album / Album
Adding Album Artist (displayed) / AlbumArtist
Adding Album Artist / AlbumArtistRaw
Adding Artist (displayed) / -1
Adding Artist / -2
Adding BPM / BeatsPerMin
Adding Composer (displayed) / -3
Adding Composer / -4
Adding Comment / Comment
Adding Conductor / Conductor
Adding Disc# / DiscNo
Adding Disc Count / DiscCount
Adding Encoder / Encoder
Adding Genre / Genre
Adding Genre Category / GenreCategory
Adding Grouping / Grouping
Adding Keywords / Keywords
Adding Lyricist / Lyricist
Adding Mood / Mood
Adding Occasion / Occasion
Adding Origin / Origin
Adding Publisher / Publisher
Adding Quality / Quality
Adding Rating / Rating
Adding Album Rating / RatingAlbum
Adding Love / RatingLove
Adding Tempo / Tempo
Adding Track# / TrackNo
Adding Track Count / TrackCount
Adding Year / Year
Adding Lyrics? / HasLyrics
Adding Virtual1 / Virtual1
Adding Virtual2 / Virtual2
Adding Virtual3 / Virtual3
Adding Virtual4 / Virtual4
Adding Virtual5 / Virtual5
Adding Virtual6 / Virtual6
Adding Virtual7 / Virtual7
Adding Virtual8 / Virtual8
Adding Virtual9 / Virtual9
Adding Virtual10 / Virtual10
Adding Virtual11 / Virtual11
Adding Virtual12 / Virtual12
Adding Virtual13 / Virtual13
Adding Virtual14 / Virtual14
Adding Virtual15 / Virtual15
Adding Virtual16 / Virtual16
Adding Sort Artist / Custom1
Adding Sort Album Artist / Custom2
Adding Custom3 / Custom3
Adding Custom4 / Custom4
Adding Custom5 / Custom5
Adding Custom6 / Custom6
Adding Custom7 / Custom7
Adding Custom8 / Custom8
Adding Custom9 / Custom9
Adding Custom10 / Custom10
Adding Custom11 / Custom11
Adding Custom12 / Custom12
Adding Custom13 / Custom13
Adding Custom14 / Custom14
Adding Custom15 / Custom15
Adding Custom16 / Custom16
Title: Re: Now Playing to External Files
Post by: boroda on August 30, 2013, 08:52:14 PM
The only possible reason for not exporting artwork/lyrics I have in mind is that you don't have embedded/linked artworks and lyrics, they simply are dynamically downloaded from Internet (there is no way to get cached album artwork/lyrics in API at this moment).

Try this version (http://www.mediafire.com/download/vce1a445bj3m4bd/mb_NowPlayingToTextFile.dll).
Title: Re: Now Playing to External Files
Post by: mrad on August 31, 2013, 02:51:05 AM
NP Test Report  --  Looking really good !

100% Success... track primary picture IS saved to "Artwork file:" What is particularly cool about this artwork feature is that all artworks are saved as the one name and file type - a genius solution in simplification. Far better than I originally asked for.  ;D

------------

99% Lyrics are saved, sometimes there are not, perhaps partly due to a race condition, but there may also be an issue with the lyricsReloaded plugin ... i'm not sure until potential races are resolved.

I observed the following, I played a track that displayed lyric, the lyric has been in the MB InternalCache since 19/8/2013. Yet the NP lyric file was 0KB - strange. And this happened after a previous track from the same album output to the lyrics file with no problem. Also, in another case, I watched MB fetch the lyrics and then clicked again on the track -- the result was correct output - race on.

So for the race condition, I suggest a TP timer loop. Actually, this can be used for two purposes, here is an example you can code up...
Code
timerLoop()
if remainingPlaytime is greater than 5 seconds
// 1. Handle lyrics. Fetching from internet can take time
if exists(currentTrack -> lyrics)
savefile(prefs -> lyricsFilename)
endif

// 2. handle rotating artist pictures (e.g. flickr, future proofing a future art plugin or a MB upgrade)
chksum = md5(artistPicture)
if last_chksum is not equal to chksum
last_chksum = chksum // new picture found
savefile(prefs -> artistPicture)
endif
endif
end_timerLoop

NP_main()
...
set last_chksum = null
call timerLoop every 2 seconds
...
end_NP_main

Ideally, MB would have a "Lyrics ready" call-back, but a timer loop test will do if/until then.
------------

Currently, if MB does not download a hi res image, then "Artwork picture:" will be 0KB.  Perhaps delete this file so a 3rd party scripts can issue an...
Code
IF EXIST "%artworkPicture%"
which would be far easier than trying to determine a 0 byte filesize from a scripting perspective. Naturally, all output files would be handled in the same manner as described here.

------------

Thanks again :D
Title: Re: Now Playing to External Files
Post by: boroda on August 31, 2013, 11:50:20 AM
New plugin version (http://musicbee.wikia.com/wiki/Now_Playing_to_Text_File) released.
Title: Re: Now Playing to External Files
Post by: boroda on August 31, 2013, 11:57:46 AM
@mrad
Still no support for rotating artist pictures. Don't know how to do it, maybe its impossible with current MB API.
Title: Re: Now Playing to External Files
Post by: mrad on August 31, 2013, 03:17:46 PM
First, awesomeness - and high fives.
It's really great watching the old files disappear and new ones created with content when the data arrives in realtime  ;D
On another note, I played a track where the Artist_Picture file had a "date taken" tag of 2007 - that is cool metadata!

@mrad
Still no support for rotating artist pictures. Don't know how to do it, maybe its impossible with current MB API.
I'm not surprised, I think the first fetch is saved as a static img in the \AppData\InternalCache\\ArtistBackdrops folder.

So the two image API calls currently used by NP are...
(1) "Library_GetArtistPicture_Managed" = Track Primary Artwork
(2) "Library_GetArtistPictureUrls" = Now Playing Artwork (once time fetch fan art?)

perhaps I need to wishlist...
"Library_GetRotatePictureUrls"

but first, can I just confirm that the above (2) only ever contains ONE hi res image even over playtrack time (its plural name suggests otherwise).

as always, thank you.

ps. I saw the base64 substitution for md5 ;)
Title: Re: Now Playing to External Files
Post by: boroda on August 31, 2013, 08:14:23 PM
So the two image API calls currently used by NP are...
(1) "Library_GetArtistPicture_Managed" = Track Primary Artwork
(2) "Library_GetArtistPictureUrls" = Now Playing Artwork (once time fetch fan art?)
Not at all. NP is using NowPlaying_GetArtwork() for retrieving artworks (it also returns cached artwork if there is no embedded one) and NowPlaying_GetArtistPicture() for retrieving artist picture (cached one).

EDIT: There is a way to get all already cached artist pictures, but picture rotation cant be synced with rotating pictures displayed by MB.

perhaps I need to wishlist...
I'll give you +1 :)

ps. I saw the base64 substitution for md5 ;)
Its more reliable ;) Actually just didn't want to investigate how to use md5.
Title: Re: Now Playing to External Files
Post by: mrad on September 01, 2013, 12:35:08 PM
[ Wishlist item created ] (http://getmusicbee.com/forum/index.php?topic=10591.msg63434#msg63434) :)

---

"Library_GetArtistPictureUrls"
can we confirm that this call only ever contains ONE hi res image over the playtrack duration (its plural name suggests otherwise)
I think Steven added some goodness into this call that is not yet fully exploited.
Title: Re: Now Playing to External Files
Post by: boroda on September 01, 2013, 04:20:13 PM
Steven, is there any way of getting currently displayed rotating artist picture? NowPlaying_GetArtistPicture() returns only 1st artist picture from rotating ones.
use NowPlaying_GetArtistPictureUrls(true, urls[]) to get them all the locally stored ones but there is no way to get the current active one
Title: Re: Now Playing to External Files
Post by: mrad on September 02, 2013, 06:05:46 PM
use NowPlaying_GetArtistPictureUrls(true, urls[]) to get them all the locally stored ones but there is no way to get the current active one

ahh, so, the above comment couples very nicely with my first wishlist item. To recall...

1) Suggestion, all artworks currently being used should be added as a field to output ;-)
the additional NP provided setting would something like "Artist Picture Path:"  Therefore, if slow systems cannot handle it, this field can be left blank and the existing fields can still provide at least the one image that they do currently.

:D
Title: Re: Now Playing to External Files
Post by: boroda on September 02, 2013, 07:38:16 PM
ahh, so, the above comment couples very nicely with my first wishlist item. To recall...

the additional NP provided setting would something like "Artist Picture Path:"  Therefore, if slow systems cannot handle it, this field can be left blank and the existing fields can still provide at least the one image that they do currently.
Yes, but as I wrote: picture rotation cant be synced with rotating pictures displayed by MB. Of course I can organize own picture rotation if this is what you would want. Or maybe you meant exporting all artist picture paths at ones to separate text file?
Title: Re: Now Playing to External Files
Post by: mrad on September 03, 2013, 03:31:17 AM
ahh, so, the above comment couples very nicely with my first wishlist item. To recall...

the additional NP provided setting would something like "Artist Picture Path:"  Therefore, if slow systems cannot handle it, this field can be left blank and the existing fields can still provide at least the one image that they do currently.
Yes, but as I wrote: picture rotation cant be synced with rotating pictures displayed by MB. Of course I can organize own picture rotation if this is what you would want.
Yeah, I totally understand that we can't sync until/if @Steve is able to add that feature.
No rotation needed, and is outside the scope of the plugin imho.

Or maybe you meant exporting all artist picture paths at ones to separate text file?
Yes, I think the easiest step forward is to export all artist picture paths to a separate text file. It will be interesting to see the results.

Thank you :)
Title: Re: Now Playing to External Files
Post by: boroda on September 03, 2013, 06:29:42 AM
@mrad
It seems that NowPlaying_GetArtistPictureUrls(true, urls[]) returns only 1 (autosaved) artist pictue and manually saved artist pictures, nut not retrieved from internet cached ones. So new version (http://www.mediafire.com/download/b1j8tj4baw8vj1f/mb_NowPlayingToTextFile.dll) writes not only local artist picture filenames, but also web ones.
Title: Re: Now Playing to External Files
Post by: mrad on September 03, 2013, 04:31:43 PM
Wow, the new feature does indeed produce a fascinating set of results - most excellent :D

1) So, to clear up any possible confusion... and to document for others...

... please correct me if I have missed anything.


2) Finally, some housekeeping...


...
 
(http://i.imgur.com/3TisBNe.jpg?1)

Thank you :)
Title: Re: Now Playing to External Files
Post by: boroda on September 03, 2013, 07:42:14 PM
  • "Primary artist picture:" === Cover picture
If you mean album cover then no.  As far as I understand its just artist picture (photo, backdrop) that was displayed 1st and was autosaved.

  • "Artwork file:" === One locally cached artist backdrop picture file, that is a copy of filename(**).dat
No, its album artwork (cover). Manually embedded or linked to local file or downloaded from Internet (maybe cached, not sure)

  • "Artist picture filenames file:" ... contains the locally cached artwork backdrop filename(**).dat *PLUS* one->many artwork backdrop urls
Contains 1 cached (actually autosaved) backdrop picture (yes, its .dat), all manually saved artist pictures (right-click on rotating artist picture and choose "save as") and urls of all found backdrops.

  • Most text input fields and the drop down combos tab order now needs updating
Will correct it

  • There are no ctrl-c, ctrl-v key-press events on the text input fields (must use right click menu)
Strange behavior, don't have time now to fix this ctrl+c/ctrl+v is used by MB (see "Edit" menu) and I cant override it without Steven's help, use ctrl+ins/shift+ins instead.

  • Must restart MB after changing the filename of "artwork file" or "primary artist picture" - these settings should commit after pressing "Apply" or commit and save after pressing "Save"
I need to check it, actually changes should be in effect after clicking "OK" in plugin prefs.

  • Align the right hand side dialog controls (red line in image shows offset)
Will correct.

P.S. "Album Artwork" and "Artist Picture" are native MB terms and I don't want to change them.
Title: Re: Now Playing to External Files
Post by: mrad on September 04, 2013, 02:15:10 AM
P.S. "Album Artwork" and "Artist Picture" are native MB terms

Oh yeah, I totally understand the resistant on this idea, and I have no doubt that you have thought about this too.

Allow me to share how I reached my thoughts, just as something to consider (or not)...

As NP uses two output file types, a text file and picture, it makes sense to use these words ... "file" and "picture", but more strict than current use.

For example, the current "Artwork File" is type picture, so I thought, hmm "Artwork Picture". However, I then improved (in my mind) on this ... the word "Artwork" could be used for all pictures, and "Album" could be an incorrect term due to singles and podcasts, so I thought a more meaningful and descriptive word is "Cover" with type "Picture".

The word "Artist", does not always apply, for example soundtracks, factual audiobooks, radio programmes.

So, words that make sense with the above variations, and taking into account all that you clarified as the behaviours of each of these features..
Code
Current Label                      Suggested Label             Filename
"Text file:"                       "Tags file:"                Tags.txt
"Artwork File:"                    "Cover picture:"            CoverArtwork.jpg
"Primary artist picture:"          "Backdrop picture:"         PrimaryBackDrop.jpg
"Artist picture filenames file:"   "Artwork backdrops file:"   ArtworkBackDrops.txt
I think the labels in the middle are simpler than those on the left and describe to the user what the fields are actually used for. The other thought i had was to add "name" after picture but meh! The filenames on the above right column follow some logic too ;)

I do feel MB should also look at picture/album/artist terminologies, but understand higher priority issues exist.
Title: Re: Now Playing to External Files
Post by: boroda on September 04, 2013, 05:10:02 AM
Code
Current Label                      Suggested Label             Filename
"Text file:"                       "Tags file:"                Tags.txt
"Artwork File:"                    "Cover picture:"            CoverArtwork.jpg
"Primary artist picture:"          "Backdrop picture:"         PrimaryBackDrop.jpg
"Artist picture filenames file:"   "Artwork backdrops file:"   ArtworkBackDrops.txt
OK, I will change terms this way.
Title: Re: Now Playing to External Files
Post by: boroda on September 04, 2013, 05:44:09 AM
New plugin version (http://musicbee.wikia.com/wiki/Now_Playing_to_External_Files) released.


Title: Re: Now Playing to External Files
Post by: boroda on September 04, 2013, 05:47:13 AM
  • Align the right hand side dialog controls (red line in image shows offset)
Its native VisualStudio alignment:

(http://img513.imageshack.us/img513/6475/7j3.png) (http://imageshack.us/photo/my-images/513/7j3.png/)

Uploaded with ImageShack.us (http://imageshack.us)
Title: Re: Now Playing to External Files
Post by: boroda on September 04, 2013, 05:50:51 AM
Quote
Must restart MB after changing the filename of "artwork file" or "primary artist picture" - these settings should commit after pressing "Apply" or commit and save after pressing "Save"

For me changes are in effect after clicking "OK" in plugin prefs.
Title: Re: Now Playing to External Files
Post by: mrad on September 04, 2013, 01:31:38 PM
@boroda74 Thank you reconsidering the terms changes, high five.

I re-tested on Win 7 (x64)...

Known minor quirks that do not affect normal operations...
1) The right side button visual misalignment is a VisualStudio quirk.
2) On some systems, picture field changes apply only after restarting MB, where text is on click 'OK'.
3) MB "Ctrl-c" and "Ctrl-v" behaviours have priority even if the NP plugin dialog has focus.


What a great useable plugin !!!

Finally, for people reading this, inspirational ideas that this plugin can power...



:D
Title: Re: Now Playing to External Files
Post by: boroda on September 04, 2013, 03:15:24 PM
@mrad
If you write some applet, application or addon to third party program (e.g. for Rainmeter) based on NP please share it.
Title: Re: Now Playing to External Files
Post by: mrad on September 16, 2013, 03:26:49 PM
@mrad
If you write some applet, application or addon to third party program (e.g. for Rainmeter) based on NP please share it.

Of course :)

So far, I am testing with a demo RM rotation viewer and a few media widgets as each look different. It is awesomeness having the fanart big and most importantly part of the desktop wallpaper without actually being a wallpaper. MB takes on the role of a server, RM outputs rss feed widgets, a clock and other stuff above the pictures and media controls - skinners focused on pure MB<>RM skins would have a party with this stuff ;)
Note: RM 3 beta is a must tho.

I have noticed an issue, I am playing with Shuffle=On

Seemingly random, I notice the CoverArtwork onscreen is blank. When I look at the file on disk, indeed it is a corrupt jpg of some 40 bytes.
I cannot seem to lock why and when this happens so that I can report more fully to you tho - sigh. I'll monitor.
Title: Re: Now Playing to External Files
Post by: mrad on September 17, 2013, 12:24:02 AM
Issue: ArtworkBackdrops.txt can be output as a zero byte file - this file should not be created if there are no items available.
Title: Re: Now Playing to External Files
Post by: boroda on September 17, 2013, 10:53:45 AM
ok, i"ll fix it
Title: Re: Now Playing to External Files
Post by: boroda on September 17, 2013, 11:07:24 AM
Try this version (http://www.mediafire.com/download/26346k3hlpmi1sj/mb_NowPlayingToExternalFiles.dll)
Title: Re: Now Playing to External Files
Post by: mrad on September 17, 2013, 12:37:55 PM
Try this version (http://www.mediafire.com/download/26346k3hlpmi1sj/mb_NowPlayingToExternalFiles.dll)
Fixed. Thank you ;)
Title: Re: Now Playing to External Files
Post by: boroda on September 18, 2013, 04:55:30 PM
New version of plugin (http://musicbee.wikia.com/wiki/http://musicbee.wikia.com/wiki/Now_Playing_to_External_Files) released


Title: Re: Now Playing to External Files
Post by: boroda on December 21, 2013, 04:09:43 PM
New plugin version is released


http://musicbee.wikia.com/wiki/Now_Playing_to_External_Files

MB latest update is required:

http://musicbee.niblseed.com/V2_3/MusicBee_Exe_Patched.zip
Title: Re: Now Playing to External Files
Post by: boroda on February 18, 2014, 11:49:26 AM
New plugin version is released


http://musicbee.wikia.com/wiki/Now_Playing_to_External_Files
Title: Re: Now Playing to External Files
Post by: martynonline on February 21, 2014, 08:23:20 PM
Thank you, thank you, thank you, thank you, thank you! You are a true hero! It works perfectly and improves upon an already amazing plugin. Only one small issue though. When MusicBee is closed, a new blank file seems to be created. This file is still in UTF-8 format so '' characters get shown on my desktop sidebar panel. Would it be a big pain to ask for you to consider, in a future release, to make it so that a custom message gets displayed instead upon close (eg. No music currently playing.) so as to hide this?

Sorry if I'm requesting too much, if you post a donate link, i'll shout you a beer on me!  ;) :D
Title: Re: Now Playing to External Files
Post by: boroda on February 21, 2014, 09:48:59 PM
Sorry if I'm requesting too much, if you post a donate link, i'll shout you a beer on me!  ;) :D
No. Not too much. Donation is not needed, I'm doing it just for fun :)

Actually I'm surprised that on plugin closing it writes something to files. I'll check this later, probably on this weekend.
Title: Re: Now Playing to External Files
Post by: boroda on February 22, 2014, 09:53:14 AM
It was a bug and its fixed:

http://www.mediafire.com/download/k9wr4u71dxdyoqa/mb_NowPlayingToExternalFiles_2014-02-22.zip
Title: Re: Now Playing to External Files
Post by: martynonline on February 22, 2014, 02:41:51 PM
Thanks for the quick resolution, but now there seems to be a new issue (for me at least). Although the NowPlaying.txt that is created in the MusicBee folder appears to be blank, the display says 'ERROR: Input past end of file' in place of where the '' used to be. Any idea why this may be?  ???
Title: Re: Now Playing to External Files
Post by: boroda on February 22, 2014, 03:13:06 PM
Maybe because length of file is zero after closing MB? Try this version, let me know if it works for you:

http://www.mediafire.com/download/olbfe76u147xtb2/mb_NowPlayingToExternalFiles_2014-02-22-2.zip
Title: Re: Now Playing to External Files
Post by: martynonline on February 22, 2014, 05:48:35 PM
That last version works perfectly, thank you!! I am very, very grateful to you!

 I hope your talent with code makes you rich and happy in life!

All the best, Mart  ;D
Title: Re: Now Playing to External Files
Post by: boroda on March 15, 2014, 01:14:10 PM
done:

http://www.mediafire.com/download/ap0851xwclww4u7/mb_NowPlayingToExternalFiles_2014-03-15.zip
Title: Re: Now Playing to External Files
Post by: boroda on April 14, 2014, 06:51:51 PM


http://www.mediafire.com/download/1auxw192cdfkefb/mb_NowPlayingToExternalFiles_2014-04-14.zip

You need MB 2.4 latest patch to use new plugin version:

http://musicbee.niblseed.com/V2_4/MusicBee_Exe_Patched.zip
Title: Re: Now Playing to External Files
Post by: martynonline on May 06, 2014, 06:02:31 PM
Hey boroda74, hope you are well! Just popped back to say thanks again for such a great, great plugin. I still use it daily and I really do appreciate the time you took to add my requests into those releases back then. Best wishes buddyl! -Mart   ;D
Title: Re: Now Playing to External Files
Post by: boroda on May 06, 2014, 09:53:46 PM
Thank you very much! Russians say: kind word is pleasant even for cat :)
Title: Re: Now Playing to External Files
Post by: BeeBeeKing on June 26, 2015, 03:40:58 AM
Hi boroda74,
Not sure that you saw this in the general thread:
-------------------
Further: The plugin removes the txt file.
The streamer I'm using gets stuck on the last known title because it can't access the file when we shutdown MusicBee (when we go live on air).
What I'm suggesting, could there be an option in settings so that instead of removing the text file it creates a blank entry in the text file?
-------------------
We are using it on our overnight jukebox with MusicBee here myradiostream.com/fleurieufm

By the way it is a great little plugin , thank you so much
cheers,
Geoff
Title: Re: Now Playing to External Files
Post by: boroda on June 26, 2015, 08:54:25 PM
yes, i saw this post, just be patient and i'll fix this
Title: Re: Now Playing to External Files
Post by: BeeBeeKing on June 27, 2015, 01:39:13 AM
thank you Boroda74
Title: Re: Now Playing to External Files
Post by: boroda on June 28, 2015, 09:57:07 AM


http://www.mediafire.com/download/c5rihhjmznmwa3h/mb_NowPlayingToExternalFiles_2015-06-28.zip
Title: Re: Now Playing to External Files
Post by: BeeBeeKing on June 28, 2015, 03:43:15 PM
Hi Boroda74,
It creates a a nil entry in the txt file ok. But unfortunately this hasn't fixed my problem.
Our streaming service still retains the last played track when MusicBee goes off and we revert to live studio programming.

The only other thing i can think of is if musicbee goes off can your plugin insert a custom message into the tags.txt file to replace the jukebox track title.
"You're listening to [name of Station] or similar"?
Irealize this is  more work for you, but would be appreciated if you could get time to do it.
regards,
Geoff
Title: Re: Now Playing to External Files
Post by: boroda on June 28, 2015, 07:21:02 PM
try this version, it writes spaces, if it wont work i create a setting for custom text written to external files on mb exit:

http://www.mediafire.com/download/7ts4mqbelmcblhn/mb_NowPlayingToExternalFiles_2015-06-28-2.zip
Title: Re: Now Playing to External Files
Post by: BeeBeeKing on June 29, 2015, 01:44:07 PM
thanks Boroda74, i'll try it and get back to you
Title: Re: Now Playing to External Files
Post by: BeeBeeKing on June 29, 2015, 02:09:30 PM
Yes that works, thank you Boroda74. Certainly worked on exiting MusicBee, I didn't try pause as it's evening here and I didn't want to interrupt the broadcast any longer, will try again in the middle of the night.
An option to insert a custom text would be great as well, something like insert spaces or insert custom text option.
Title: Re: Now Playing to External Files
Post by: Lordmau5 on August 13, 2015, 06:59:33 PM
Hey, I really love the work you put into this. It certainly is of good use for streaming on my end :D

However.. it seems that the CoverArtwork is only saving occasionally?
Is this a known issue or am I doing something wrong? (Considering that it literally is only a directory to save the file in, I don't really think I'm doing anything wrong :()

 ~ Greets.

//EDIT: Okay, so apparently the cover artwork only saves to the file-location if I start a song from a different album.
If I go with a song from the currently playing album, it just removes the file (Or well, saves some weird data to it)
Title: Re: Now Playing to External Files
Post by: boroda on August 14, 2015, 06:48:45 AM
i'll take a look at this issue on weekend.
Title: Re: Now Playing to External Files
Post by: yin on August 26, 2015, 09:49:42 PM
This is a great plugin!

Is there a tag in musicbee for current line on a synchronized lyric? It would be perfect with this, I would be able to add lyrics to my streams ;D

Thanks for your hard work!
Title: Re: Now Playing to External Files
Post by: boroda on August 27, 2015, 04:59:25 AM
thanks for kind words! no, unfortunately there is no such tag. i could ask Steven to add this tag to api, but i'm afraid he could add this tag to mb 3.0 only which will be available in a few months.
Title: Re: Now Playing to External Files
Post by: yin on August 27, 2015, 11:21:20 AM
thanks for kind words! no, unfortunately there is no such tag. i could ask Steven to add this tag to api, but i'm afraid he could add this tag to mb 3.0 only which will be available in a few months.

I see, so something like this would depend on changing the api itself, huh? It would be pretty cool if it could be added onto mb3.0!

Thanks again!
Title: Re: Now Playing to External Files
Post by: boroda on August 27, 2015, 05:07:48 PM
what do you want to be exported by plugin if there is no synced lyrics? empty string or the whole unsynced lyrics?
Title: Re: Now Playing to External Files
Post by: Steven on August 27, 2015, 06:04:02 PM
@boroda74, you should be able to get the full synchronised lyrics already. If i understand correctly the request is more along the lines of MB notifying your plugin that the current playing line number in the synchronised lyrics has changed and for your plugin to write the line number
Title: Re: Now Playing to External Files
Post by: boroda on August 27, 2015, 06:27:09 PM
yes, i can write own parser, but anyway plugin should be notified that current line of synced lyrics is changed which line of synced lyrics must be displayed.
Title: Re: Now Playing to External Files
Post by: Steven on August 27, 2015, 06:42:45 PM
yes, i can write own parser, but anyway plugin should be notified that current line of synced lyrics is changed.
i would need to add a new api call and if it did it, i would provide you with the text so you wouldnt have to parse the whole lyrics. But it would be something on the to-do list for next year
Title: Re: Now Playing to External Files
Post by: Steven on August 27, 2015, 06:58:00 PM
actually thinking about, you could do something yourself by parsing the lyrics and using the play position api
Title: Re: Now Playing to External Files
Post by: boroda on August 27, 2015, 07:54:00 PM
yes, but i will need to pull play position regularly, what is not a good solution. special event sent to plugin on lyrics line changes will be better.
Title: Re: Now Playing to External Files
Post by: boroda on September 06, 2015, 02:33:35 PM
@Lordmau5
thanks for critical bug report! there were even more related issues, eg with backdrops, lyrics, etc. all they should be fixed now:
http://www.mediafire.com/download/5rx4f21zcp1wk7n/mb_NowPlayingToExternalFiles_2015-09-06.zip
Title: Re: Now Playing to External Files
Post by: joejoe on September 07, 2015, 09:57:02 AM
Could this plugin be used to write artist nfo files?
Title: Re: Now Playing to External Files
Post by: boroda on September 07, 2015, 10:24:22 AM
no
Title: Re: Now Playing to External Files
Post by: Lordmau5 on October 12, 2015, 04:55:18 PM
I am *DAMN* sorry for the late reply, but you are a god, @boroda74!

Thank you SO MUCH for the fix <3

Works like a charme now :)
Title: Re: Now Playing to External Files
Post by: Nendilo on November 19, 2015, 08:45:50 AM
How to upload and manage files on my web server via FTP? When will the future?  ;)

Here by winamp: (web link removed)

edit by moderator, new (safer) link:
http://brandon.fuller.name/archives/2007/01/21/17.15.20/
Title: Re: Now Playing to External Files
Post by: hiccup on November 19, 2015, 09:54:18 AM
How to upload and manage files on my web server via FTP? When will the future?  ;)

Welcome to the forum Nendilo.
I took the liberty to remove the link you presented. I am sure your intentions are well, but the website you referred to has a bad reputation for trying to install different kind of stuff on your pc.
I edited your post, and gave a link to the website of the original creator of that specific Winamp plugin.
Have you tried if that plugin maybe works through the Winamp plugin import function in MusicBee?
Title: Re: Now Playing to External Files
Post by: Nendilo on November 19, 2015, 01:46:11 PM
Welcome to the forum Nendilo.
Thank you!!!

Where can I import it?

I have renamed the DLL-File from "gen_BrandonFullerNowPlaying.dll" to "mb_BrandonFullerNowPlaying.dll", copied in MusicBee Plugin-folder. When enable comes following message:

"DLL entry point: Initialise was not found"
Title: Re: Now Playing to External Files
Post by: hiccup on November 19, 2015, 02:12:54 PM
I am not completely sure, so somebody else please correct me if I am wrong:

You will need to have Winamp installed. Then install the plugin (in Winamp).
Then find those installed plugin files in the relevant Winamp folder, and copy those to the MusicBee Plugins folder.
After that you start MusicBee, open the equalizer (and dsp) panel, and you click the button 'Import Winamp'.
The rest should be self-explanatory.

But be aware, there is no guarantee at all that all Winamp plugins will work in MusicBee.
(and the one you are looking at is almost 9 years old and no longer maintained)
Title: Re: Now Playing to External Files
Post by: Steven on November 19, 2015, 06:32:29 PM
MB doesnt support general winamp plugins - only dsp_XXXXX, in_XXXXX, out_XXXXX
Title: Re: Now Playing to External Files
Post by: Nendilo on November 20, 2015, 04:21:18 AM
MB doesnt support general winamp plugins - only dsp_XXXXX, in_XXXXX, out_XXXXX

Thank you, Steven!!!
Title: Re: Now Playing to External Files
Post by: boroda on November 21, 2015, 07:41:21 AM
sorry, no plans to add support for ftp. you could try to use sync software which will export files from local file system to ftp.
Title: Re: Now Playing to External Files
Post by: Beaker on May 07, 2016, 04:49:06 AM
Hi there.. Love this plugin..
But im having trouble displaying ARTIST - TITLE if playing from a cue file.
It wants to display ALBUM ARTIST - ALBUM instead.
Is there a way around this..

Thanks...
Title: Re: Now Playing to External Files
Post by: boroda on May 11, 2016, 02:16:44 PM
Steven, do you have any comment on this? plugin just uses regular GetFileTag() api function and i have no cue files to test something.
Title: Re: Now Playing to External Files
Post by: Beaker on May 16, 2016, 07:08:20 AM
Hi Again
Also when you play music from xbox music
it wants to display this kind of thing to the text file
 - https://music.xboxlive.com/1/content/music.CD9D0B00-0100-11DB-89CA-0019B92A3933

Not sure if that can be looked at too..

Thanks
Beaker
Title: Re: Now Playing to External Files
Post by: boroda on May 16, 2016, 07:21:52 AM
i see the empty page with text '404: NotFound'
Title: Re: Now Playing to External Files
Post by: Beaker on May 16, 2016, 02:53:56 PM
so do i, but that what the plugin is sending to the text file.

Title: Re: Now Playing to External Files
Post by: Steven on May 16, 2016, 05:57:38 PM
if you are hoping to play the music using the link you wont be able to as there is encryption and a protocol that has to be followed.
If you want a link to the x-box music page for the track then its in the Origin tag (tag code = 67) which you could ask boroda74 to make available if its not already
Title: Re: Now Playing to External Files
Post by: boroda on May 16, 2016, 07:47:21 PM
if its native mb tag then its already supported. all mb tags are supported by plugin.
Title: Re: Now Playing to External Files
Post by: ibigfire on August 26, 2016, 07:01:56 AM
What's the difference between "Artist (displayed)" and "Artist"?
Title: Re: Now Playing to External Files
Post by: boroda on September 02, 2016, 08:05:49 AM
they are standard id3v2 tags. track can have several 'artist' tags, then mb will auto-generate 'display artist' tag in the form 'artist1; artist2; artist3', but you can assign any value to 'displayed artist' manually.
Title: Re: Now Playing to External Files
Post by: Blewweh on April 08, 2017, 03:00:52 PM
Hi there,

I've been using MusicBee and this plugin for years. I lost my music library recent and most of the music I've replaced it with are .tta and corresponding .cue files. As previously posted in this thread, the plugin doesn't correctly tag Artist - Title. I can only get it to display the Album title.

Any help? All tags display correctly in MusicBee itself so I don't understand why the plugin is not pulling the same information.

Many thanks
Laura  :D
Title: Re: Now Playing to External Files
Post by: boroda on April 10, 2017, 11:18:37 AM
could you post a screenshot of plugin settings and corresponding text file?

edit: also post a screenshot of tag editor for the same track.
Title: Re: Now Playing to External Files
Post by: Blewweh on April 10, 2017, 04:18:35 PM
Hi Boroda,

Many thanks for taking the time to have a look. It would be great if I could get it working.

The screenshots you requested are all here with captions: http://imgur.com/a/Z9cE9
Title: Re: Now Playing to External Files
Post by: boroda on April 11, 2017, 01:04:27 PM
very strange as plugin is exporting fine <artist>-<title> for me. suspect that the problem is with asian characters. could you pm me the link to those .tta+.cue files. maybe some problems with utf encoding.
Title: Re: Now Playing to External Files
Post by: boroda on April 12, 2017, 03:12:34 PM
hmmm. i've found no problems with exporting artist-title from your files. also there is settings to export *artist*-*title* in your screenshots, but actually only *album* (!) is exported. is this album tag is exported with artist-title settings?
Title: Re: Now Playing to External Files
Post by: boroda on April 12, 2017, 09:28:20 PM
@Blewweh
i dont think its a plugin bug. try to go to menu> edit> prefs> tags (2)> fields: configure fields, and check that 'original fields' and 'override fields' columns have the same meaning.
Title: Re: Now Playing to External Files
Post by: Blewweh on April 16, 2017, 01:07:10 PM
Hi Boroda,

Yes both columns of tags are identical. I can still only get the tags from the plugin to show the album title.

Any other ideas...? I tried with MP3 files and the tags were fine. ):
Title: Re: Now Playing to External Files
Post by: boroda on April 17, 2017, 05:40:45 PM
no ideas. i dont understand how tags can be displayed correctly in mb and cant be exported correctly.
Title: Re: Now Playing to External Files
Post by: namewithoutwords on September 14, 2020, 11:00:41 PM
I'm making use of the Now Playing to External Files plugin (https://www.getmusicbee.com/addons/plugins/47/now-playing-to-external-files/) to write the currently playing track info out to a text file.

Prior to MusicBee 3.3.7491 (the most recent release as of this writing), whenever musicbee was paused or stopped, this plugin would update the text file and "empty" it.  This behavior was useful to me, since I could (via scripts) take actions based on whether the file was populated with playing info or was empty.

After updating to the latest Musicbee, this empty-on-pause-or-stop longer happens, and the file is unchanged whenever MusicBee is paused or stopped - though the file is still emptied whenever MusicBee is closed.

I realize the plugin is no longer maintained, but the source for the plugin has been shared), so (long shot) maybe someone will know how to fix it?

(if you've read this far and are curious why I care - I use this plugin in conjunction with a crappy shell script I wrote to set my status in slack with what I'm listening to - and auto-clear said status when the nowplaying file is empty, i.e. I'm not listening).
Title: Re: Now Playing to External Files
Post by: hyp_wanda on October 26, 2020, 11:18:18 AM
This message is machine translated.
I get this error when I start Musicbee.
I've reinstalled it to fix it temporarily, but I'm getting this error again soon.
What should I do to resolve this error?


The plugin I'm using is ”NowPlaying”.

MusicBee v3.3.7491.38139D  (Win10.0), 26 10 2020 18:27:

System.ArgumentException: 使用されたパラメーターが有効ではありません。(The parameter used is not valid.)
   場所 System.Drawing.Bitmap..ctor(String filename)
   場所 MusicBeePlugin.Plugin.writeTagInfo(Boolean retryingToGetTags)
   場所 MusicBeePlugin.Plugin.RetryToRetrieveTags()
   場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   場所 System.Threading.ThreadHelper.ThreadStart()
Title: Re: Now Playing to External Files
Post by: manishboyradio on October 27, 2020, 10:39:07 PM
Okay i am not familar with doing a lot of coding or scripts, do any of you folks, have a template i could work off to create a way that could insert the pictures and text into OBS so the pictures rotate like they do on Music Bee?

Thanks in advance!
Title: Re: Now Playing to External Files
Post by: phred on October 28, 2020, 03:05:44 AM
This message is machine translated.
I get this error when I start Musicbee.
I've reinstalled it to fix it temporarily, but I'm getting this error again soon.
What should I do to resolve this error?

The plugin I'm using is ”NowPlaying”.
The error is being caused by a plugin. If "Now Playing..." is the only plugin you have, disable it and restart MB. If you still have issues, close MB, delete the plugin's dll file, and restart MB.
Title: Re: Now Playing to External Files
Post by: allavaz on March 13, 2021, 06:21:49 PM
Not sure if this is the right place to ask but, could we get an option to split the artist and title into different files? To format them differently in OBS for example.
Title: Re: Now Playing to External Files
Post by: hiccup on March 13, 2021, 06:26:13 PM
Not sure if this is the right place to ask but, could we get an option to split the artist and title into different files? To format them differently in OBS for example.
The creator of this plugin has been absent for a while, so I'm not sure if you can expect an answer here anytime soon.
Title: Re: Now Playing to External Files
Post by: NetBoy on June 24, 2021, 06:40:19 PM
Not sure if this is the right place to ask but, could we get an option to split the artist and title into different files? To format them differently in OBS for example.

Hey there! Did you (or anybody else) find a solution for this?
I'd love to have the title scroll in OBS, but have the artist and album not scroll.
Title: Re: Now Playing to External Files
Post by: boroda on July 09, 2021, 05:32:21 PM
Not sure if this is the right place to ask but, could we get an option to split the artist and title into different files? To format them differently in OBS for example.

Hey there! Did you (or anybody else) find a solution for this?
I'd love to have the title scroll in OBS, but have the artist and album not scroll.
not sure if i understood you properly, but will it be acceptable for you if album and artist tags are written to separate lines in the same text file? you can use "<CR><LF>"  instead of "<tab>" as tag delimiter.
Title: Re: Now Playing to External Files
Post by: RABIDYOTE on July 26, 2021, 11:39:26 PM
how do i get internet radio tags to show up properly? on other plugins like discordbee, the "artist" and "title" tags work fine for internet radio but don't work for this plugin. the station name shows up as the title, and the artist doesn't show at all 😓
Title: Re: Now Playing to External Files
Post by: sveakul on July 27, 2021, 12:13:40 AM
the station name shows up as the title, and the artist doesn't show at all 😓
This may be too simple for what you want to do, but the Play-History to Text File plugin (https://getmusicbee.com/addons/plugins/197/play-history-to-text-file/ (https://getmusicbee.com/addons/plugins/197/play-history-to-text-file/)) will keep a date/time ordered text file of radio station song titles and artists (when that metadata is being sent by the stream).  The log looks like this:

Sunday, 25 July 2021 15:08:21 - Sama hvad - GDRN feat. Matthildur
Sunday, 25 July 2021 15:09:32 - Love Forsaken - Ekos Quartet
Sunday, 25 July 2021 15:16:31 - Future - Lettie
Sunday, 25 July 2021 15:22:02 - Nuna ft. FEY - Muted
Sunday, 25 July 2021 15:23:38 - Los Angeles - Brother Sun Sister Moon
Sunday, 25 July 2021 15:28:27 - Speak - Lonesome Animals
Sunday, 25 July 2021 15:33:20 - Diet Of Water And Love - Flunk
Title: Re: Now Playing to External Files
Post by: RABIDYOTE on August 01, 2021, 03:21:59 AM
the station name shows up as the title, and the artist doesn't show at all 😓
This may be too simple for what you want to do, but the Play-History to Text File plugin (https://getmusicbee.com/addons/plugins/197/play-history-to-text-file/ (https://getmusicbee.com/addons/plugins/197/play-history-to-text-file/)) will keep a date/time ordered text file of radio station song titles and artists (when that metadata is being sent by the stream).  The log looks like this:

Sunday, 25 July 2021 15:08:21 - Sama hvad - GDRN feat. Matthildur
Sunday, 25 July 2021 15:09:32 - Love Forsaken - Ekos Quartet
Sunday, 25 July 2021 15:16:31 - Future - Lettie
Sunday, 25 July 2021 15:22:02 - Nuna ft. FEY - Muted
Sunday, 25 July 2021 15:23:38 - Los Angeles - Brother Sun Sister Moon
Sunday, 25 July 2021 15:28:27 - Speak - Lonesome Animals
Sunday, 25 July 2021 15:33:20 - Diet Of Water And Love - Flunk

that plugin does actually function as expected, but i wish there was a way to configure what is displayed in its settings! ah well, it works fine as is. thank you!
Title: Re: Now Playing to External Files
Post by: NetBoy on September 10, 2021, 08:22:20 AM
Not sure if this is the right place to ask but, could we get an option to split the artist and title into different files? To format them differently in OBS for example.

Hey there! Did you (or anybody else) find a solution for this?
I'd love to have the title scroll in OBS, but have the artist and album not scroll.
not sure if i understood you properly, but will it be acceptable for you if album and artist tags are written to separate lines in the same text file? you can use "<CR><LF>"  instead of "<tab>" as tag delimiter.

Thanks a lot for this!
I found a "workaround" where I create two text boxes each with the text from musicbee, and then just crop off lines as needed for each box.
Cheers for the <LF> notation, really useful.
Title: Re: Now Playing to External Files
Post by: iconoclastxvii on October 04, 2021, 02:20:53 PM
Just started getting an "Out of memory" exception a few weeks ago. Would happen after an hour or two of playing.

Code
9/30/2021 11:40:24 AM - 10.0.19043.0 - 3.4.7805.33439D - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.OutOfMemoryException: Out of memory.
   at System.Drawing.Bitmap..ctor(String filename)
   at MusicBeePlugin.Plugin.writeTagInfo()
   at MusicBeePlugin.Plugin.ReceiveNotification(String sourceFileUrl, NotificationType type)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at #=zlFwaJ1S_oYR_8J8laA==.#=zARNNEqVc$Cnu()
Title: Re: Now Playing to External Files
Post by: lichtlaerm on May 14, 2023, 10:31:59 PM
Hi. I am unable to access the download link for this plugin. Apparently it's broken because it says "Generating new download key" constantly. I've tried accessing from different devices and IPs and it's not on my end. There is a related github issue that points that this happens when the link was not generated properly:

https://github.com/hklcf/MediaFire-Stream-API/issues/9

Can you please fix it? Thanks!
Title: Re: Now Playing to External Files
Post by: boroda on May 15, 2023, 02:35:53 AM
it's strange, but deleting this zip on mediafire and re-uploading it again didn't solve this problem (though my local zip, which i re-uploaded, is fine). so i had to repack old dlls into new zip:

https://www.mediafire.com/file/z9nqtsa8nproc4a/mb_NowPlayingToExternalFiles-2023-05-15.zip/file

p.s. just for the record: all my plugins have "backup download" link to google drive (which worked fine in this case) at the end of the plugin description.
Title: Re: Now Playing to External Files
Post by: lichtlaerm on June 17, 2023, 01:15:09 AM
p.s. just for the record: all my plugins have "backup download" link to google drive (which worked fine in this case) at the end of the plugin description.

Thanks! I missed this and then immediately noticed it afterwards.

Another issue has popped up though. Most of the time the lyrics.txt file is not written, even when I have lyrics displayed on MusicBee. If I stop the song and play it again the lyrics load, but they fail to load again as soon as I switch to the next song. I'm accessing the file as soon as its created by OBS Studio to get the lyrics on stream, but the file gets deleted and never created again due to this interaction. I don't have this error with the regular Tags.txt file (may be because of length? some shorter songs are apparently more consistent but I'm not positive). Could also be that retrieving lyrics online makes the local function timeout because it doesn't resolve instantly?

I might be able to get something working from OBS Studio side since I did get an async image source plugin a while ago to deal with something similar with images, but there is nothing developed yet for text. Any ideas?
Title: Re: Now Playing to External Files
Post by: boroda on June 17, 2023, 07:50:05 AM
i have no experience in using obs studio, but as far as i understand, you are saying about audio streams in general? if so, could you provide the publically available link to some music stream with lyrics, so i could test the plugin for streams?
Title: Re: Now Playing to External Files
Post by: lichtlaerm on August 23, 2023, 09:41:07 PM
i have no experience in using obs studio, but as far as i understand, you are saying about audio streams in general? if so, could you provide the publically available link to some music stream with lyrics, so i could test the plugin for streams?

I managed to get a workaround to my issue, just pre-download the lyrics for all my library. The problem is that the lyrics are not pre-loaded (or any change happens to the tags/art for that matter) the plugin doesn't write the files.

But now I have a separate issue: I reinstalled MusicBee as portable (was using the Windows installer version for some godforsaken reason and it was causing issues when trying to remove plugins), copied all configurations but now I can't use neither <TAB> or <CR><LF> to get linebreaks to work. I remember having to fiddle with this a bit before the linebreaks actually worked, but now I'm stuck... Any ideas?
Title: Re: Now Playing to External Files
Post by: boroda on August 23, 2023, 11:34:20 PM
not looking at the code, try to use lowercased <tab> or <cr><lf>. i'll look at this tomorrow.
Title: Re: Now Playing to External Files
Post by: lichtlaerm on August 24, 2023, 12:07:15 AM
not looking at the code, try to use lowercased <tab> or <cr><lf>. i'll look at this tomorrow.

Yep, that was it lol. Thanks!