1) Suggestion, all artworks currently being used should be added as a field to output ;-)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?
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> ?Its already possible with "<cr>" (u+000A) and "<lf>" (u+000D).
Fails. Result... "<cr>" = "" and "<cr><lf>" = ""3) Suggestion, instead of Separator <tab> can we use <nl> ?Its already possible with "<cr>" (u+000A) and "<lf>" (u+000D).
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.1) Suggestion, all artworks currently being used should be added as a field to output ;-)I'll do that.
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).
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?
Ooer, just noticed an issue...Plugin is very simple, its probably some bug in MB.
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?
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.
Ah okay, I guess you can resolve that with Steven ;)Ooer, just noticed an issue...Plugin is very simple, its probably some bug in MB.
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?
That works.Fails. Result... "<cr>" = "" and "<cr><lf>" = ""There is a bug, try <lf><cr> for now, but I'll fix this.
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.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.
Nope. I think you missed this idea. The current played track is located anywhere, e.g. usb connected device, disk drive, url, network.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.
I know that name 'URL' is slightly confusing, but 'URL' tag is just full filename (with path) for local files.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.
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.
Hmm, ok but my music is on a networked PC atI know that name 'URL' is slightly confusing, but 'URL' tag is just full filename (with path) for local files.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.
Yes, but if you ask Steven, then maybe he can make these dynamic variables available to you, the API, and therefore everyone else.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.
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.
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 :)
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.
However, I wasn't sure...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
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.Strange. Can you see track's artwork in MB?
so... I tried both methods, unfortunately, and strangely, I got 0 byte output.Strange. Can you see track's artwork in MB?
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.
New plugin version released.First, thank you for adding the new feature :D
- [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.
1) still zero byte sizeDidn't understand what exactly is fixed and what is zero byte. Please explain.
2) fixed :)
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.
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 little1) still zero byte sizeDidn't understand what exactly is fixed and what is zero byte. Please explain.
2) fixed :)
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.
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 ?
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
"C:\Windows\Temp\NP_Log.txt" is 0 bytesThis 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 :)
Now writes tag info if "resume playback on startup"Yes, this addresses the issue found, thank you.
writes lyrics to predefined fileImage) Red box UI lyrics area is not saved to "Lyrics file:", instead the file content is 3 hex bytes > $EF $BB $BF
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
null
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
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
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
IF EXIST "%artworkPicture%"
@mradI'm not surprised, I think the first fetch is saved as a static img in the \AppData\InternalCache\\ArtistBackdrops folder.
Still no support for rotating artist pictures. Don't know how to do it, maybe its impossible with current MB API.
So the two image API calls currently used by NP are...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).
(1) "Library_GetArtistPicture_Managed" = Track Primary Artwork
(2) "Library_GetArtistPictureUrls" = Now Playing Artwork (once time fetch fan art?)
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.
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
use NowPlaying_GetArtistPictureUrls(true, urls[]) to get them all the locally stored ones but there is no way to get the current active one
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.
ahh, so, the above comment couples very nicely with my first wishlist item. To recall...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?
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.
Yeah, I totally understand that we can't sync until/if @Steve is able to add that feature.ahh, so, the above comment couples very nicely with my first wishlist item. To recall...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.
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.
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.
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.
- "Primary artist picture:" === Cover picture
No, its album artwork (cover). Manually embedded or linked to local file or downloaded from Internet (maybe cached, not sure)
- "Artwork file:" === One locally cached artist backdrop picture file, that is a copy of filename(**).dat
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.
- "Artist picture filenames file:" ... contains the locally cached artwork backdrop filename(**).dat *PLUS* one->many artwork backdrop urls
Will correct it
- Most text input fields and the drop down combos tab order now needs updating
- There are no ctrl-c, ctrl-v key-press events on the text input fields (must use right click menu)
I need to check it, actually changes should be in effect after clicking "OK" in plugin prefs.
- 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"
Will correct.
- Align the right hand side dialog controls (red line in image shows offset)
P.S. "Album Artwork" and "Artist Picture" are native MB terms
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.CodeCurrent 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
Its native VisualStudio alignment:
- Align the right hand side dialog controls (red line in image shows offset)
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"
@mrad
If you write some applet, application or addon to third party program (e.g. for Rainmeter) based on NP please share it.
Try this version (http://www.mediafire.com/download/26346k3hlpmi1sj/mb_NowPlayingToExternalFiles.dll)Fixed. Thank you ;)
Sorry if I'm requesting too much, if you post a donate link, i'll shout you a beer on me! ;) :DNo. Not too much. Donation is not needed, I'm doing it just for fun :)
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.
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
How to upload and manage files on my web server via FTP? When will the future? ;)
Welcome to the forum Nendilo.Thank you!!!
MB doesnt support general winamp plugins - only dsp_XXXXX, in_XXXXX, out_XXXXX
This message is machine translated.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.
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”.
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.
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.
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.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.
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:
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
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.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.
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()
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.
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?
not looking at the code, try to use lowercased <tab> or <cr><lf>. i'll look at this tomorrow.