Although I still can't figure out how to get that issue resolved from my custom search option... :)You are right. I forgot your initial problem implementing 'album count' tag. Well, what about selecting (in order) 'album artist'
OK, let's say I have a song currently titled "The Way Of The North King And The Way Of The South Queen (The Most Awesome Title With A Beat)." For capitalization rules, in this example at least, "of", "the", "and", "with", and "a" should be lowercased, unless it's the first word of a title or the first word inside the parentheses. Thus, the title should be look like "The Way of the North King and the Way of the South Queen (The Most Awesome Title with a Beat)." However, I can't seem to make that work thus far...Yes, there is some bug with excluded words
Also, I would be happy if the "Auto-tag" feature would also tag the <Album Artist> field because I think that the <album artist> field is an important tag because most players and tag editors use that field. I would be grateful if that field was added with the auto-tag feature.If you are referring to the native MB autotagging, it already supports album artist. I also thought this (boroda74's) plugin already had album artist from what i have seen but perhaps he is best to answer that
I downloaded this plugin and it has a ".rar" extension. I don't know how I can use it. The format isn't compatible with Windows.I'm using .rar archive format because it preserves all Unicode chars in file paths. Well, OK,, I'll use more common .zip format if no files are using non-ASCII chars in file paths.
Also, I would be happy if the "Auto-tag" feature would also tag the <Album Artist> field because I think that the <album artist> field is an important tag because most players and tag editors use that field. I would be grateful if that field was added with the auto-tag feature.I'm not sure about what you name "Auto-tag" feature. "Auto-tag" feature is native function of MusicBee. If you mean 'Tag counter' virtual tag then its already capable to count any tag.
I'm unable to run this plugin. I'm sure I'm missing something... I created a "Plugins" folder in my MB installation (C:\Program Files (x86)\MusicBee\Plugins) but no "additional tagging tools" entry appeared in the "Tools\Tagging Tools" menu. If I go to Edit\Preferences\Plugins I get a program crash.
If the plugins folder is renamed to "plugins" or "plugin" there is no crash when going to Edit\Preferences\Plugins but I still don't get any additional menu entry.
I'm sure this one is pretty basic but any help would be welcome.
I'm unable to run this plugin. I'm sure I'm missing something... I created a "Plugins" folder in my MB installation (C:\Program Files (x86)\MusicBee\Plugins) but no "additional tagging tools" entry appeared in the "Tools\Tagging Tools" menu. If I go to Edit\Preferences\Plugins I get a program crash.Try MB version from 1.2.4197 to 1.2.4210 (probably you are using more later version).
I'm unable to run this plugin. I'm sure I'm missing something... I created a "Plugins" folder in my MB installation (C:\Program Files (x86)\MusicBee\Plugins) but no "additional tagging tools" entry appeared in the "Tools\Tagging Tools" menu. If I go to Edit\Preferences\Plugins I get a program crash.Try MB version from 1.2.4197 to 1.2.4210 (probably you are using more later version).
Steven, it seems that my plugin causes MB to crash when I try to use latest MB version.
boroda74, the last change i made to the API was on 9-julyFirst of all I had a power failure :) Then I had a many steps to make MB work, the last step was full reinstall of last RC version, then I replaced exe with latest version (and this didn't work - plugin simply wasn't initialized and going to prefs/plugins crashed MB) then I replaced exe with 1.2.4210 and now all works. Also I've made some modifications of plugin.
...
if you feel it is definitely something changed on the MB side, what is the error you get and is there anything in the error log?
However there's still a problem in the Edit\Preferences\Plugins configuration: I get two new entries (additional tagging tools and mb_tagtools.resources.dll). I can enable the first one but the second cannot be enabled and produces the following error message when I try to enable it:
"Unable to initialise this plugin:
Dll entry point: MusicBee.Plugin was not found"
Please note that I copied the three files in the zip to the Plugins folder in my MB installation.
Is there a way to create an action that performs something like "Wipe unneeded tags"?MB API doesn't provide function to delete tags. Possibly set_tag command is smart enough to delete tag at all if it has empty value. It better to ask Steven about this. If so you can copy some certainly empty tag (eg Custom9) to wiped tag for selected tracks. Also if its so I can allow to use <Empty value> source pseudo tag in copy command without the requirement to set custom text.
...
Lore
It seems that you didnt keep folder structure unzipping archive. mb_tagtools.resources.dll should be in 'ru' subfolder of plugins folder and therefore shouldn't be displayed in prefs/plugins. You may ignore this "plugin" or you may delete this .dll (it used only for Russian localization of plugin and is anyway ignored if your regional settings in not Russian).
Is there a way to create an action that performs something like "Wipe unneeded tags"?MB API doesn't provide function to delete tags. Possibly set_tag command is smart enough to delete tag at all if it has empty value. It better to ask Steven about this. If so you can copy some certainly empty tag (eg Custom9) to wiped tag for selected tracks. Also if its so I can allow to use <Empty value> source pseudo tag in copy command without the requirement to set custom text.
...
Lore
Is there a way to create an action that performs something like "Wipe unneeded tags"?MB API doesn't provide function to delete tags. Possibly set_tag command is smart enough to delete tag at all if it has empty value. It better to ask Steven about this. If so you can copy some certainly empty tag (eg Custom9) to wiped tag for selected tracks. Also if its so I can allow to use <Empty value> source pseudo tag in copy command without the requirement to set custom text.
...
Lore
That's too bad. I agree that it would be a good feature. Maybe in the future.
I've tested the latest beta of additional tagging tools plugin with MB 1.3.4212 and it seems to work as expected.Yes, Steven, there is some bug. After upgrading to 1.3.4213 all commands were shown twice. But after restarting MB all is normal. Not a big problem for me, but may be it should be fixed.
Note that when I ran it immediately after installation (namely after copying the *.dll to the Plugins subfolder) all the plugin commands were shown twice (Copy tag..., Swap tags..., Auto rate tracks ... and all the same below). Fortunately, when I close MB and restart the system the problem has gone.
I'm still having an issue with "Change Case"... it seems that it's not ignoring the words in the "except for words" section. Am I doing it right?I don't understand what you want to get in the tag. 'Ignore' means 'do not change'. If you speak about letter 'a' in ignored words list then case of this letter is not changed.
After I installed it it took me a couple minutes to figure out that I had to go into Preferences to enable it.i've changed that now for the latest version of MB - it now enables plugins by default
do people have any views about auto-rating the entire library? I do have a field available for this purpose (i just need to do some fairly minor things so it becomes visible in the GUI and selectable in queries)Steven, unfortunately I didn't get any feedback about auto-rating command at all. It was so many times requested and it seems nobody uses it.
so you could still have a manual rating and have a auto-rated field as well (when i was thinking of doing this functionality myself, one of the inputs to an autorating was going to be the manual rating when it was available)
Steven, unfortunately I didn't get any feedback about auto-rating command at all. It was so many times requested and it seems nobody uses it.I'm not sure I understand I understand Steven's comment about the auto rating field but I can give feed back on the auto rating with this plugin.
I don't tend to play a song more than once a day so it seems impossible to set up auto rating in this plugin that gives any accuracy. It seems that whatever settings I use, with me not playing a song more than once a day, that everything will get more or less the same rating. I would prefer it to be based on track count in total and/or skip count.Hmmm... 'Plays per day' used for calculations is not an integer number (not only 0, 1, 2, 3, etc.). Its a fractional number (more exactly floating point number), it may be 0.0001 which means that you play track 1 time per 10000 days (on the average). Actually maximum 'plays per day' (for mostly played tracks) in my library is about 0.042 (much lesser than 1). Is doesn't somehow interfere with calculation of auto-rating.
I can't get the settings to save and just opening and closing crashes (not responding to be more specific) MB (possibly the reason for the settings not saving).Actually 'auto rate' window calculates max. and avg. 'plays per day' just when window is opened. May be this is the issue? How large is your library? For me (~14 000 tracks) opening of window takes less than 1 sec. Anyway nothing is done when you close the window. And saving settings takes only milliseconds (they are saved to memory and saved to file only when MB exits).
I still find it confusing though to be honest. Would some presets be a possibility for a future update?Do you mean presets of percentages for calculation of thresholds? I'm doubtful that somebody will constantly change presets. Percentages are actually set-and-use settings.
My library is 172gb. The opening of the window is not the issue, it opens pretty much as soon as I've clicked on the the option in the menu. I don't know what's going on, just that nothing is saving and it crashes every time I try to close the window, no matter how long I've had the window open for.The last question. After 'auto rate' window is opened you can do anything: change settings, run 'Auto rate now' and 'Calculate thresholds' commands, even 'Save settings'? But clicking on 'Close' button freezes MB?
I don't know what's going on with it, I guess I'll just have to give up, I can live without it.
Yes, everything works fine as far as I can see except when I try to close the window.If you opens window and immediately closes it then the same happens? And if you close window by clicking 'X' button on the top right corner of window also? Very strange.
I have noticed one other bug with it, when I change the percentages they often revert to 1 after I have put a number in a clicked away (to the next box).Its because you dont't tick 'Set stars if' checkbox first. But this is bug. I'll fix it.
I set up MusicBee and imported all of my music files on Feb. 7 of this year. That day I played a bunch of tracks. Some of the tracks I played that day, I haven't played since. It's now August 1, nearly 6 months later, but the plays per day for some of those tracks are very close to 1, which gives them the highest ratings in my library. In most cases, I wouldn't give a higher rating to a track I've played once in the last 6 months, than to a track I've played, say, 20 times in the last 6 months. I don't know if it's possible, but it would make sense to me to adjust the formula to (plays - skips)/(TodaysDate - DateAdded) so it would calculate the plays per day since the track was added, rather than between the date added and the last time it was played.Real formula must be 'Plays-Skips/LastPlayed-FirstPlayed', not DateAdded. By FirstPlayed is not supporeted by MB and using DateAdded is a good approximation. Suggested by you formula is quite different, though it is reasonable. I could implement it as an option.
Hello! Unfortunately I had to remove this plugin... ever since I made auto-rate work from setup, it won't allow me to do anything else related to the plugin until it finishes... which, after a few days, still hasn't completed. I know I have a large library -- over 26,000 songs and just over 200GB worth of music-- but I don't think it should take that long to complete auto-rate. In addition, it also seems to have slowed MB to such a crawl that I have to use task manager to stop it. Finally, even if I uninstall and manually remove the plugin from the MB folder, if I reinstall the plugin (either beta or stable), auto-rate seems to start up again. :'( :'( :'( :'(I don't recommend you to use 'auto-rate at startup' option at all. Its better to autorate all tracks manually first (although you cant use MB until process is finished), then check 'auto rate tracks if they are played' (this should happen mommentary for 1 track). Cant even imagine why initial auto-rating takes so long time. Cant check it now. Uninstallation doesnt remove settings file now, but you can delete it manually: see file like 'mb_TagTools.Settings.xml' in 'application data' dir (depends on your Windows version and if you run MB in portable mode).
The top post has a Stable download and a Beta download - but no indication of what the difference is - either in terms of version number or in terms of date or in terms of features. There is a list of changes by date, but no indication of whether they apply to stable or beta...The only difference between beta and stable version is in the last command that is not fully implemented now. Either I'll wait until Steven adds support to MB for downloading custom presets or just will remove both 'download' buttons.
I don't recommend you to use 'auto-rate at startup' option at all. Its better to autorate all tracks manually first (although you cant use MB until process is finished), then check 'auto rate tracks if they are played' (this should happen mommentary for 1 track). Cant even imagine why initial auto-rating takes so long time. Cant check it now. Uninstallation doesnt remove settings file now, but you can delete it manually: see file like 'mb_TagTools.Settings.xml' in 'application data' dir (depends on your Windows version and if you run MB in portable mode).
Is it possible to have a routine that will add preceding "0's" to the copied number to make the number up to say 5 digits and exclude any other information from the copied field. Eg in a field that contained number one it would transfer as 00001, 11 to 00011, 111 to 00111, 10000abcdefg would become 10000.I dont see C# help file now or MSDN, but can suggest that adding some more or less standard formatting (something like standard Excel formatting) should be very simple. Probably later.
I realize this is a big ask, but you don't know unless you ask.
Any other ideas on how to achieve this would be welcome. thanks.
thanks Boroda74, I'll wait to see if yourself or Stephen can implement this.bluesbeat, install beta version of plugin, then download this 'advanced search and replace' preset (http://www.mediafire.com/?n40n4qdgcj2dedt)to 'plugins/asr presets' folder (this folder should be already existing after installing plugin). Use 'Remove leading zeros' preset for selected tracks. It should work fine for examples given by you, but it would replace '00102b12' with '102', i.e all digits after first non-digit will be removed.
Hi boroda74, unless I misunderstand you......what I wanted to do was add zeroes to the numbers so that they will sort properly, not remove the zeroes.My mistake. But you can use preset partially to remove letters at the end of tag.
I have a whole lot of index numbers in the comments tags and they don't sort properly eg 1,11,111 instead of 1,2,3,4,5 etc
Is this how all the tags sort, is there a better tag I should use for sorting by index number?
I need them to sort naturally, 1,2,3,4,5,6,7,8,9,10.
By the look of your last message your preset will remove zeroes?
Edit> by the way, i don't need to remove letters at the end of the tag, but I guess that may be handy for some other circumstance.
Eg in a field that contained number one it would transfer as 00001, 11 to 00011, 111 to 00111, 10000abcdefg would become 10000.Of course, this is unnessary for sorting only.
That is, i want to end up with "04503 texttexttext".......in other words I don't want to remove any text.Hmm... I thought you need to remove all text. I think its possble, but please confirm that you don't want to store 'index' and 'comment' in separate tags.
Also can you tell me if the custom tags in musicbee are actually written to the file or are they stored in musicbee?Generally custom tags are strored in MB cache only unless you define some mapping to real tags. As far as I understand custom tag may be stored in real tag with any name, but other programs wont read such tags. Also its possible to map custom tag to any standard id3v2 or ape tag.
Yes I want the index and text all in the comment tag as in my ripping program it is easy to enter it there. Sometimes it is a bio on the artist and some times I just put the country of origin. They are all albums so shouldnt effect the sorting as the 5 digit number will be at the beginning of the tag.No, your clarification was useful.
This is something I should have told you at the beginning, sorry.
Also did you see my "edit" in the previous post?Yes, but after I wrote my post.
By the way the last preset adding the zero's took about 1 hour, during which music bee appears not to respond, but when the hard drive stopped flashing I figured it was done and closed the program from task manager. Iwas processing 210GB of files so probably why.I'm doubful that I can speedup this command, but 210GB is really large library (my library is ~40GB). Probably when the hard drive stopped flashing MB needs some time to refresh UI, but I wouldn't recommend to close MB from task manager.
I am unsure what the buttons, submit, download new, dowload all are supposed to do? also unsure how "Tick presets which should be automatically applied if tags have changed?Its only a beta version of command. 'Submit' will e-mail me selected preset (this currenly works), both 'download' buttons don't work for now. Also there are a bugs with refreshing list of presets after creating/editing presets and creating/editing requires to run MB as admin, etc.
is MB_RefreshPanels() and i wouldnt recommend using that too often as its a fairly expensive in terms of processing.I always call MB_RefreshPanels() only once after all file updates were done. Actually I think that MB_RefreshPanels() should be executed very quickly even if very large number of files were updated, so I'm not fully understanding how it can be that mb is still freezed and there is no hdd activity.
However, if you do anything in your plugin that invokes the MB GUI thread and runs that thread then it would lock up the MB GUI. As you have a dialog window I guess you might be doing that?I'm not doing anything special to execute plugin in GUI thread.
each plugin runs in its own thread so any tasks within the plugin shouldnt impact the MB GUI (apart from generally slowing down the computer of course).Yes, but this is true only when plugin command is invoked by receiving notification (like 'auto rate at startup' option which executes background task), but not when command is invoked from MB menu.
If that is the case you could create your own thread when performing long tasksYes, I thought about creating threads for long tasks, but there is problem: if one command executes QueryFiles/GetNextFile loop and another command (of the same plugin but in different thread) executes similar loop then 1st loop is terminated.
On both occasions when I processed the batch for changes in the comments fields I waited until there was no hdd activity and then exited MB via task manager.How much time you were waiting between noticed no hdd activity and terminated MB from task manager?
you are right about that and something i overlooked. I want to avoid as much as possible plugins interfering with the MB GUI, so i will look to have plugin commands that are invoked from the menu run in the plugin thread as welleach plugin runs in its own thread so any tasks within the plugin shouldnt impact the MB GUI (apart from generally slowing down the computer of course).Yes, but this is true only when plugin command is invoked by receiving notification (like 'auto rate at startup' option which executes background task), but not when command is invoked from MB menu.
that is right but is that really much of a problem? I dont think its too much of a restriction that the user can only run one tagging operation at a time and it would complicate things on the MB side. But if i address the first point above hopefully it will solve this issue, although i'm not sure how forms behave when created on their own thread - i do know its advisable not to access forms/controls and update them from a different thread.If that is the case you could create your own thread when performing long tasksYes, I thought about creating threads for long tasks, but there is problem: if one command executes QueryFiles/GetNextFile loop and another command (of the same plugin but in different thread) executes similar loop then 1st loop is terminated.
that is right but is that really much of a problem? I dont think its too much of a restriction that the user can only run one tagging operation at a time and it would complicate things on the MB side. But if i address the first point above hopefully it will solve this issue, although i'm not sure how forms behave when created on their own thread - i do know its advisable not to access forms/controls and update them from a different thread.How plugin should notify user what is happening in friendly way? For example user opened several plugin windows then click 'Procced' in one window. What should be happened with other windows? Are they must just become disabled? Or clicking on 'procced' in other windows should display warning?
Probably 10 minutes the first time and 5 minutes the second time.On both occasions when I processed the batch for changes in the comments fields I waited until there was no hdd activity and then exited MB via task manager.How much time you were waiting between noticed no hdd activity and terminated MB from task manager?
You could simply do a test when the user clicks Proceed and show a message if another of your commands is still running, or alternatively iterate though the query resultset quickly and build up your own internal resultset which you then use to run your file operations from.Very very good idea espesially about quickly querying files and stroring them in own list.
MB internally has a class that can run tasks in the background and have them display the status on the taskbar with the termination button, so i will look to expose that via the API.Thanks.
This provides serialization (i.e. operations which iterate through a library query do not overlap and close each others' queries)This is not very covinient for interactive operations (with UI). For example user opens 'Change case' command, clicks 'proceed', gets immediate responce 'operation is queued' then opens 'Copy tag' command. He will see old tag value in preview if tags are not changed by background task yet (but will be changed later).
Steven, couldn't you return a query "handle"? The initual query returns a handle, GetNext requires this handle and once done, the handle is disposed with an EndQuery call. That'd allow for simulatenous queries in a C++-like fashion and C# devs could roll the handle into a custom enumerator which calls EndQuery upon disposal / finalization.This would be great.
Thanks very much for the update boroda, especially the auto-tagging feature. It's working great.What do you mean by auto-tagging feature?
Thanks very much for the update boroda, especially the auto-tagging feature. It's working great.What do you mean by auto-tagging feature?
problem seems to occur when i select "use skin colors.." under configuration/Appearance. Can you replicate this? Also uninstall button does not uninstall the plugin still.Yes, I can reproduce this. Its very strange how this option can raise that exception. Need some time to determine whats the problem.
MusicBee v1.3.4255.31994 (Win6.1), 26 Aug 2011 19:20:
System.ArgumentOutOfRangeException: Not a valid Win32 FileTime.
at System.DateTime.ToFileTimeUtc()
at System.IO.File.SetLastWriteTimeUtc(String path, DateTime lastWriteTimeUtc)
at System.IO.FileSystemInfo.set_LastWriteTimeUtc(DateTime value)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.saveSettings()
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.import(Boolean importAll)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.buttonImportAll_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v1.3.4255.31994 (Win6.1), 26 Aug 2011 21:41:
System.InvalidCastException: Unable to cast object of type 'System.String' to type 'Preset'.
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.presetList_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.CheckedListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.CheckedListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.CheckedListBox.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
'Plays per day' equals to '(play count - skip count)/(last played - date added)' (and its a fractional number, i.e. it may be 0.001). I'm doubtful that any track in your library have 'plays per day' value equal to '2' (this would mean that you play this track 2 times per day on the average). You can use max./avg. plays per day hints on the left bottom corner of command window or don't care about 'plays per day' value and just set percentages of your tracks that must have certain auto-rating on the basis of 'pays per day'.
(though comments in the source code are slightly difficult to understand ;D)Sorry for my English :)
Sorry for my English :)
Hi boroda74,Sounds reasonable. Steven, what's the difference between zero-rated and unrated songs in terms of api calls? Suggest that zero-rated songs should have rating "0" and unrated songs should have rating "" (empty string)
thank you for your plugin, good work!
I have one suggestion regarding 'Calculate average album ratings' command.
Can you make it (configurable perhaps) so that the plugin calculates the average album rating out of rated tracks only?
The reason is that I don't have enough time to listen to a full album recently, so I cannot rate all the tracks at ones. Instead, I listen randomly from all of my library and rate tracks from time to time. So it happens that there are really good albums in my library, but they have a low average rating, just because not all tracks are rated.
Do you think my request sounds reasonable?
Thanks in advance.
I would like to see the option of applying it to selected albums and/or just to the albums in the inbox.Its possible but you have to select complete albums at this moment (there is no way to filter by albums in api calls currently).
When I ran it on my collection it seemed to apply to the whole library regardless of what was highlighted, is that the intended behavior?At this moment, yes, intended.
If I don't like some tracks on an album I don't rate them, therefore that should lower the album rating, imho.You can make such tracks zero-rated. But, yes, this can be done as option.
I have already suggested to Steven to make 'extended' installation package with all plugins included (though some plugins can be disabled by default).
BTW, I guess your plugin is available in Russian. Is it possible to get it in other languages supported with MusicBee ???Yes, plugin can be easily translated to any language, but I need translators.
Broked link to download presets.See the post above by boroda74 - Its obsolete. All current presets are included in plugin zip.
Some of my albums are with YEAR-tag "xx.yy.zzzz". How can i autocorrect them to show only year ("zzzz")?Try to search (\d\d\.)(\d\d\.)(\d\d\d\d\) and replace with $3 in ASR command.
So, I need to make a new filter in ASR presets menu? Were can I search it?Some of my albums are with YEAR-tag "xx.yy.zzzz". How can i autocorrect them to show only year ("zzzz")?Try to search (\d\d\.)(\d\d\.)(\d\d\d\d\) and replace with $3 in ASR command.
Click 'create' button. Enter \d\d\.\d\d\.(\d\d\d\d) in the search pattern and $1 in the replace pattern, leave 2 optional steps blank.Works perfect, thank you!!!
My question is: even for album ratings that have not changed is this calculated as well?Yes.
I think it must change the date attribute on all files?It depends on how you store 'album rating' (either in MB cache only or in files).
Is there a way it can only operate on new files or files where the rating has changed so that I'm not backing up everything?Currently there is no way to do this, but I think this is a good idea. I'll implement this later.
Hi boroda74.Its done.
Re: calculate average album ratings. When this is used and I then backup up my music files from one drive to another it takes a long time because it copies all files. My question is: even for album ratings that have not changed is this calculated as well? I think it must change the date attribute on all files? Is there a way it can only operate on new files or files where the rating has changed so that I'm not backing up everything? I also would prefer to have the option to perform this on just the inbox so I can calculate on just new files? thanks.
Is this plugin capable of extracting a certain part of a tag, and copy it to another?
e.g. when the 'Title' tag is:
Cello Sonata No.1 in E minor, Op.38 › I. Allegro non troppo
I want the part before ' › ' to be copied in a custom tag named 'Composition',
and the part after ' › ' copied to a custom tag named 'Movement'.
tia
edit:
I just learned how to accomplish this with MP3Tag.
Still curious if this would also be possible within MB though.
Hi boroda74!
I've finished German translation of the ASR Presets so far and sent you a PM with the download link.
1 file is still pending, waiting for your help.
Thanks in advance!
GoodWill41
this MusicBee.exe update should fix the issue:
http://musicbee.niblseed.com/V2/MusicBee_Exe_Patched.zip
Can some please help, Where can I download this plugin from and installl it. Please new user ThanksIn the beginning of this topic, see first post.
Thanks. Just found these tools. Even more reasons for me to forget about Mediamonkey.Actually some commands were inspired by MM scripts.
Can some please help, Where can I download this plugin from and installl it. Please new user ThanksIn the beginning of this topic, see first post.
I want it to appear in the order as per the playlist order.I'll do this on weekend.
Also is it possible to export the filepath, and which tag does the "URL" field equate to?'URL' is just a filepath for local files.
I do not understand the use of Function for new fields "Grouping" and calculate subgrouping totals?Every function is calculated for every unique combination of grouping fields. For example you want to calculate duration of albums for every artist. Then you should define 2 grouping fields ('Artist' and 'Album') and 1 function field ('Time').
Create new ASR preset. 1st step: search for (.*)›.* in title tag and replace with $1 in composition tag. 2nd step: search for .*›(.*) in title tag and replace with $1 in movement tag. Leave 3d step blank.
Suppose the three following possible title tags of a track:Try the following: search for: .*?-([^-]*).* and replace with $1
"first-second-third-fourth.mp3"
"first-second.mp3"
"first second.mp3"
The wish is to have your tool find only the word "second" from the first two examples, and do nothing with the third example. (or any other form without at least one "-" )
Try the following: search for: .*?-([^-]*).* and replace with $1
Hi Boroda, Thank you for adding the # field so I could sort the Library report for my playlists, is it also possible to suppress the 000's in front of the sequence number?This would complicate sorting of #-tag
Not a big one if you can't.
Today, I tried to install the plugin but after I put the plugin files into Musicbee's plugin folder and started MB, the following message popped up: "Some tag names are duplicated. Plugin is not properly initialized." I checked the Tools Menu: all the plugin entries were there but I think they didn't work as they're supposed to. For example, the Advanced Find and Replace dialog hadn't any presets to select from.This error means that localized tag names are duplicated. Most probable reason is that localized tag names "Lyrics" (this tag contains text of song) and "Lyrics?" (this pseudo-tag displays "Y" if song text is present and "N" if it is not) are the same. Part of plugin functionality wont be present in this case.
Can you think of any reason for this problem? I am using MB 2.0.4663 and downloaded the newest version of the plugin. Theater Mode and Screen Saver Mode are enabled, but not any other plugins.
Could it be that this has something to do with custom tags? I am using some custom tags which are written into the files' meta data.
For example, the Advanced Find and Replace dialog hadn't any presets to select from.You need to import ASR presets first by clicking 'Import All' or 'Import New' button.
Thank you.I think no.
Is it even possible with MusicBee to delete these tags completely?
still wait for the german translations...please ;DWhat do you mean? Plugin supports for German for a couple of months.
If the numbers 1,2,3 ... 9,10,11 ... are saved into a custom tag
Question about the "Renumber Tracks" script: Is it possible to pad/add leading zeros without also renumbering tracks?
Question about the "Change Case" script: Is it possible to highlight the tags that would actually be changed (versus those that would be unaffected)? Right now they all appear red.Its hard to highlight unchanged tags. I'll do that unchanged tracks are unticked automatically.
Question about the "Renumber Tracks" script: Is it possible to pad/add leading zeros without also renumbering tracks?
The "Renumber Tracks" option is part of the standard MB instal, to access the advanced features go to
Tools>>Tagging Tools>>Advanced>>Advanced search and replace
there you will find the option to Add up to 2 leading zeros or Add up to 5 leading zeros
further down the list is the option Remove leading zeros
When I tried to swap all 11.000 field the tool stopped after a while. Clicking the X didn't help.As far as I remember there is "Stop" or "Cancel" button in plugin windows. This button should stop plugin background task immediately.
Originated from this thread: http://getmusicbee.com/forum/index.php?topic=8620.0MB API uses c# enumeration for getting colors. I don't know how this enumeration is mapped to XML skin color nodes.
I wonder it would be possible for your plugin's drop-down menu to use both fg and bg values of "Controls.InputControl.Default" element. I think that would easily solve the problem, and every skin will display the menu more clearly without any alterations.
About the colors: you mean your cannot create visitble colors in the swap tags panel?I mean that I don't know which XML skin-file tags I'm using in plugin.
But you consider to create corresponding proper presets in the future?You are welcome.
If I have more preset requests, can I feel free to let you know?
Ok. I migrated this week from MediaMonkey (what a relief!) and I am not sure if you know the RegExp S&P plugin there.This MM plugin inspired ASR command
Do you know that plugin?
1. make each preset as flexible as possible, customizable per actionI hope ASR preset pack is already organized this way
2. group them logically-alfabetically with proper labels or numbers - such as:
ADD spaces to tag - <n> leading spaces to <tag1>
ADD text to etc.
COPY content <tag1> to <begin> or <end> of <tag2> seperated by <text>
REMOVE spaces - remove leading and trailing spaces in selected tag(s) (including ALL or multiple!)
REMOVE spaces - remove double spaces etc....
3, give the user the option to replace your own preset description, sometimes a user finds a better/simpler oneAlthough you can't edit/rename 'official' presets, you still can copy 'official' presets and edit/rename the copy and you can delete 'official' presets.
4. give the user the option to rearrange the preset lists. In MM i only used around 15 of the 110 presets, I could move them to the top of my own customizable listUnfortunately it lies in the very basics of ASR command to display presets alphabetically, but you can simply delete unwanted presets. And you can restore full preset pack at any moment by clicking 'Import All' button.
1. It would be great if conditions such as specific tag values, filters and playlists can be set for a auto-run preset so that the preset auto-applies only to those files meeting the conditions.Actually some filtering is already possible: any ASR preset won't do anything if there is no match in search pattern (more precisely if there is no match in any of 3 available search patterns).
Did you mean search patterns like <Tag1>SomeExcludedText<Tag2>? So that searched tag will be splited to several tags? I'm afraid this is too far from current functionality. What do you need this for? Some example?
2. Expand MB's current "infer and update tags from filename" function to other tags so that average users can use "search in one tag & replace in another tag" without using regex.
1. It would be great if conditions such as specific tag values, filters and playlists can be set for a auto-run preset so that the preset auto-applies only to those files meeting the conditions.Actually some filtering is already possible: any ASR preset won't do anything if there is no match in search pattern (more precisely if there is no match in any of 3 available search patterns).
2. Expand MB's current "infer and update tags from filename" function to other tags so that average users can use "search in one tag & replace in another tag" without using regex.Did you mean search patterns like <Tag1>SomeExcludedText<Tag2>? So that searched tag will be splited to several tags? I'm afraid this is too far from current functionality. What do you need this for? Some example?
What I meant was that, for instance, when I tick the option of auto-running for "swap first and last name of Composer field and save n another field," I'd like the preset to auto-apply only to classical music files (Genre=Classical, or in "Classical" filter), not to other files. I don't see how that's possible with the current version.I think this is a good idea. Probably I'll implement this.
For editing and managing tags without using regex.Its easier for me to prepare several customizable ASR presets for such purposes than modify ASR command this way.
I think this is a good idea. Probably I'll implement this.
Its easier for me to prepare several customizable ASR presets for such purposes than modify ASR command this way.
redwing, two your requests are implemented now. Download beta version of plugin from the 1st post of this topic.I think this is a good idea. Probably I'll implement this.
Wonderful!Its easier for me to prepare several customizable ASR presets for such purposes than modify ASR command this way.
That sounds good, too. I hope to see some presets dedicated to merge tags and split tags that can handle multiple delimiters. Thanks!
redwing, two your requests are implemented now. Download beta version of plugin from the 1st post of this topic.
A preset I set up (Swap first and last name adding custom text) was applied to tracks that don't belong to the selected playlist.That's strange and I can't reproduce that. Notice that this option ('Auto apply preset only if it is contained in playlist:') applies only when preset is auto applied, i.e. when manually select a number of tracks and click 'Preview' in ASR window then preset will be applied to all selected tracks.
And the preset itself wasn't working properly. It wrote in a tag differently from what was shown at preview. At last it was writing and rewriting constantly in some tags only to freeze MB. When I restarted MB, the playlist selection box was gone. Overwriting the new dll file didn't make a difference. So I ran MB with the previous version of dll file, exited, copied the new dll file, and restarted MB, this time I was able to see the box again.Probably I need to do more careful testing of beta version of plugin. Thanks for bug reporting.
Anyway, are you gonna add some more auto-apply options in addition to playlist, or that's all?I think it's sufficient as you can create very complicated autoplaylists specially for ASR command.
As for the new presets (combine and split tags), they looked great although I didn't actually test them. After looking over them, I got another wish, but it might take some time to implement. So just think about it.You are welcome.
Currently each preset allows the user to configure up to 5 steps. That's great, but only if you're familiar with regex. Otherwise, it won't be easy to utilize those step boxes. So how about allowing the user to select (and configure) another preset as a step by offering a preset selection box for each step from 2nd step?Actually I don't mean that end users will create ASR presets by themselves (although it is possible). I'm ready to create (or give you instructions how to create) new presets if they are needed.
That's strange and I can't reproduce that. Notice that this option ('Auto apply preset only if it is contained in playlist:') applies only when preset is auto applied, i.e. when manually select a number of tracks and click 'Preview' in ASR window then preset will be applied to all selected tracks.
Actually I don't mean that end users will create ASR presets by themselves (although it is possible). I'm ready to create (or give you instructions how to create) new presets if they are needed.
What I meant was that you already provided those presets that can be used as a step for another preset. For instance, if I want to split a tag in a certain way, remove particular parts of the split part, and combine them and save in another tag, you already created three presets for such a task. What's needed is to allow users to configure a workflow using multiple presets for a single task. Currently I can only do that in separate three sessions with each of those presets. It's not that urgent right now. But I think that would make this plugin more useful for average users. Thanks for your support!i.e. some kind of groups of presets. Maybe, maybe. But first I need to debug current beta version.
i.e. some kind of groups of presets. Maybe, maybe. But first I need to debug current beta version.
At last it was writing and rewriting constantly in some tags only to freeze MB. When I restarted MB, the playlist selection box was gone. Overwriting the new dll file didn't make a difference. So I ran MB with the previous version of dll file, exited, copied the new dll file, and restarted MB, this time I was able to see the box again.What is number of tracks in your library? Did you do some manual massive tagging operations when UI was freezed?
What is number of tracks in your library? Did you do some manual massive tagging operations when UI was freezed?
Was some preset is ticked for auto applying at this moment? Probably the same preset which was applied manually?What is number of tracks in your library? Did you do some manual massive tagging operations when UI was freezed?No, it was just one track, and the freezing part had nothing to do with auto-apply (today's test was the same). I applied the swap preset to a classical track, as a test, and it wrote wrongly "Chopin, 1Frédéric" and then correctly "Chopin, Frédéric", and repeat it constantly only to finally freeze MB. I had to end the process with Windows Task Manager.
I remember it wrote "/%" instead of ", " the other day although its preview was correct.I think it wrote ", /" instead of ", ". Its an error in this preset. I'll check all new presets for errsors.
Was some preset is ticked for auto applying at this moment? Probably the same preset which was applied manually?
I think it wrote ", /" instead of ", ". Its an error in this preset. I'll check all new presets for errsors.
redwing, could you give me exact name of preset which causes freezing as I can't reproduce this?
But the TOY: copy' 'feature does not seem to work.Yes, I can reproduce this. I'll fix it.
I try to copy the virtual field 'performer-v' (with a chain of people: multiple soloists, instrumentalists, orchestra, conductor) into a 'normal' custom field that I labeled 'performer' - hoping this custom field would split up all the chained entries into individual ones.
But nothing is being copied at all.
Even more:What do you mean by 'other copy tag tasks'?
Also other copy tag tasks do not seem to work.
And a related request:It very easy to do, but then columns won't be autosized at all.
In the ASR preview/result section the column width can not be changed, even if you widen the whole panel.
And the default width for old/new tag are simply to small for most (classical) tags.
Make it resizable, please?
Even more:What do you mean by 'other copy tag tasks'?
Also other copy tag tasks do not seem to work.
I meant to say: NOTHING can be copied from any field to any field; it's not restricted to my virtual source tagIt very easy to do, but then columns won't be autosized at all.
And a related request:
In the ASR preview/result section the column width can not be changed, even if you widen the whole panel.
And the default width for old/new tag are simply to small for most (classical) tags.
Make it resizable, please?
Well: who knows > see you in Moscow between July 13-21 ;-)Do you intend to visit Moscow? Well, see you ;)
I think it should suppress MB's hotkeys while the plugin's pane is active.I'll intercept common keys such as space or enter in plugin's windows, but I'm not sure if this will prevent MB from getting these events.
Tip:I've written almost this in "What's new?" section of 1st post. Probably I'll write that this step is obligatory in bold text.
Wouldn't it be a suggestion to add this instruction to remove old folder/presets when installing an update at the top topic?
1. 6 months old PC with intel core i3-2100 cpu @ 3.10 ghz - 3.10 ghs - ram installed 8 gb - 64 bit OS - windows 7 home premium w SP 1Your machine is perfect, better than mine.
2. 113.000 tracksThis may cause some problems because I'm testing plugin with ~14.000 tracks (size of my library).
1. Would it be possible to add the option 'any' to (all or some) presets, in the field selector. Then you don't have to do multiple runs of a preset to clean/change the track(s) but all fields are expected in one time.I can't imagine how such universal command like ASR can deal with all tags simultaneously. Where should it write changed values if there may be up to 5 different source values in every ASR preset?
2. Would it be possible to let some/all panels to remember their position on the screen? Especially the (normal) Search & Replace: it always pops up in the far left corner, that means: dragging tot the center of my wide screen every time.Yes, I can implement this. I was already thinking about this. But plugin hardly will remember windows positions between MB sessions.
3. Would it be possible to let S&R remember the last used settings (field, search string, replace string). Easier if you are working with thousands of tracks if you cannot keep the panel open permanently because of other tasks.Its possible too. Later.
More experiments with the ASR beta showed that the update is significantly faster than before, but after/during mass operations it still slows down the whole behaviour if auto-apply is used in my big collection.WimYogya, one more question: was auto applied preset filtered by auto- or static- playlist in your case? I mean "Auto apply preset only if track is contained in playlist:" option.
redwing, try to 'delete all' and 'import all' presets as they were upgraded after releasing beta version.
I'll report back if that will really do the trick.Thank you. Seems that I could release stable version in near future.
BTW how come a dll file with different name can affect the plugin's functionality?This is a puzzle. :)
Some tag names are duplicated. Plugin is not properly initialized.
MusicBee v2.1.4770.37287 (Win6.1), 13 Feb 2013 17:21:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.ChangeCasePlugin.IsItemContainedInList(String item, String[] list)
at MusicBeePlugin.Plugin.fillList(IList list, Boolean addReadOnlyTags, Boolean addArtwork)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.fillParameterTagList(Int32 parameterTagType, ComboBox parameterTagListParam, Label parameterTagLabelParam)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.presetList_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.CheckedListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.CheckedListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.CheckedListBox.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Is there a way (in an existing preset or a planned new one) to remove one or more characters from the beginning or the end of a field?Create new ASR preset. Fill step 1. Search for (without quotes) "^.(.*).$" and replace with "$1". Leave steps 2-5 blank. This will remove 1st and last character in tag.
I keep getting this error (just downloaded the latest beta):Try to upgrade MB to latest version (http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip).QuoteSome tag names are duplicated. Plugin is not properly initialized.
Is there a way (in an existing preset or a planned new one) to remove one or more characters from the beginning or the end of a field?Create new ASR preset. Fill step 1. Search for (without quotes) "^.(.*).$" and replace with "$1". Leave steps 2-5 blank. This will remove 1st and last character in tag.
2. At times I need to remove the LAST (or the last 2 or 3 or 5) characters. What is the formula for that?for 2 last chars search for "^(.*)..$" and replace with "$1"
3. At times I need to remove the FIRST (or the first 2 or 3 or 5) characters. What is the formula for that?for 2 first chars search for "^..(.*)$" and replace with "$1"
A combined one, where you can select variables as first, last, 1, 2, 3, 4, 5?It's not possible with current (beta) version of plugin. Maybe I'll extend ASR functionality in future to add support for such variables.
@redwing
Could you test speed of ASR with new version of plugin?
One small display issue that you might be able to find solution for:What color do you propose for 'new value'? I suggest that any color may interfere with custom windows color scheme :(
You use marroon as the font color for 'new value'. But (specially if I only want to change ONE file) I cannot read the new value.
Because my default color in Windows for highlighting a selected word/line is RED...
So there is no contrast between your font and my background.
Filtering with playlists feature doesn't work at all with the new version. If I untick playlist selection box, then they auto-apply.Re-download latest MB version (http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip).
Filtering with playlists feature doesn't work at all with the new version. If I untick playlist selection box, then they auto-apply.Re-download latest MB version (http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip).
What color do you propose for 'new value'? I suggest that any color may interfere with custom windows color scheme :(
Filtering feature is now working fine. But I don't see much differences in massive editing with the previous version.Could you untick filters of ASR presets and redo massive tag changing to see if there is much difference in speed? I need to know if slowdowns are caused mainly by filetring by playlists or by ASR itself.
I set up two presets auto-applied to two different playlists and tried two sets of massive tag editing with 500+ and 1000+ tracks...
in my case white font if the background is red (or in general: if the background isnt white).I'm afraid that white font will be indistinguishable on standard unselected white background.
Filtering feature is now working fine. But I don't see much differences in massive editing with the previous version.Could you untick filters of ASR presets and redo massive tag changing to see if there is much difference in speed? I need to know if slowdowns are caused mainly by filetring by playlists or by ASR itself.
I set up two presets auto-applied to two different playlists and tried two sets of massive tag editing with 500+ and 1000+ tracks...
@redwing
Does this version (http://www.mediafire.com/download.php?ciwe1w5ftl2ywx6) eliminates UI slowdowns?
EDIT: link is updated
@redwing
I think I cant improve the *speed* of ASR, but I intend to improve *UI responsiveness*. My test showed that current version runs fine until you reopen (and then close) ASR window. In last case UI just freezes. Its definitely some bug, not just the performance issue and I'll try to get rid of it.
in my case white font if the background is red (or in general: if the background isnt white).I'm afraid that white font will be indistinguishable on standard unselected white background.
P.S.
I'll see if there is possibility to use windows scheme colors instead of fixed colors.
New version of plugin is released. See 1st post for details.
1.If you mean standard Search & Replace command (not ASR), then it's native MB command and have no control over it. Ask Steven to enhance this command.
What I really miss most is a small feature: when doing LOTS of editing it is a pity that the Search & Replace (and other?) command can not memorize its most recent settings (looking for ... in ... and replace with ...). When cleaning up 1000+ titles of all kinds of mess, it is annoying that after every new instance I have to close S&R, and scroll down to TITLE again, and retype the search/replace values, even if there is just 1 character difference. Please store the settings (at least during one MB session) and store the location as well.
2.It very strange and I have no clue for this. I've never seen such behavior myself.
With the copy tag command I sometimes have a problem. I created a 'virtual performers' field (combining vocalists + instrumentalists + choir + orchestra + conductor) and then I use 'copy tag' to copy this often long chain of people to a (non-virtual) field 'performers' where MB can split the chain in individual contributors again. Most of the time it works fine, but sometimes the copying goes wrong: most tracks are ok, but some remain empty, even after repeated attempts. There was nothing in the empty field before. What can be the problem?
3.I'm afraid I cannot make plugin commands more responsive when ASR is running in background.
The performance for auto-application is a lot better than it was, but I still prefer to use them non-auto only. The column headers are sometimes still shaking a bit, performance is slow and some tasks must wait till the auto-app is done.
4.Theoretically possible, but actually a dictionary of excluded words for every language is needed. Who will make such dictionaries? Windows and .net by themselves don't allow to retrieve list of short service words for a given language :(
I have experimented a bit with the 'change case' command. Even not enough, I already have the feeling that it could (should?) be made more fancy. I cannot come with a proper proposal yet, but I am thinking of 'language groups', so that a user can define by language what words he wants capilatized or not. It seems very difficult to make 'one box' that should serve all languages. Especially with short words like a, à, de, der, des, di and words with an apostrophe the rules vary per language, so it would be nice if the user has an option to select which language/rules to apply. Possible?
If you mean standard Search & Replace command (not ASR), then it's native MB command and have no control over it. Ask Steven to enhance this command.Yes, that is what I meant - will ask Steven about it. Thanks.
It very strange and I have no clue for this. I've never seen such behavior myself.I can't find a pattern either. Normally all is normal. Sometimes one or two tracks 'refuse' to copy the v-performers to the performers, sometimes a whole cd in a pack of 10 cd's misses the performers. Re-applying the app sometimes helps, often manual copying is the only solution. Strange.
I'm afraid I cannot make plugin commands more responsive when ASR is running in background.Personally I can live with the manual application of the presets. Just want to let you know that things improved but for me not fast/stable enough yet.
Theoretically possible, but actually a dictionary of excluded words for every language is needed. Who will make such dictionaries? Windows and .net by themselves don't allow to retrieve list of short service words for a given languageDon't understand your last remark. No one has to create dictionaries, to my opinion. As long as they can select a (customizable labeled) language and per language enter the words that they wish to exclude. For instance: as a Dutchman I wished I could set up 'casing' rules for my Dutch songs which sometimes are different from (or non-existent in) other languages. Same goes for classical music in German or Italian. But maybe there are programming limits in providing this, don't know.
Don't understand your last remark. No one has to create dictionaries, to my opinion. As long as they can select a (customizable labeled) language and per language enter the words that they wish to exclude. For instance: as a Dutchman I wished I could set up 'casing' rules for my Dutch songs which sometimes are different from (or non-existent in) other languages. Same goes for classical music in German or Italian. But maybe there are programming limits in providing this, don't know.Ahhh... Seems I understood you. Do you mean implementing savable/customizable presets in 'Change case' command like in 'Library Reports' command? Yes, its possible, its not very hard to make.
1. I can create as many of those 'rows' as I wish?No, as far as I remember up to 10 rows can be saved.
2. I can give each language a separate list of excluded words?Yes.
3. I could (for example) copy all the words from my English list + my Dutch list + my Italian list to the top list which should include ALL words-to-exclude?Yes, but you have to manually create all-words-to-exclude list.
And could you please explain the use of the button 'reapply rules to new tag'?You can change casing rules & click 'Reapply rules to new tag' button to apply modified rules to already changed values without saving new values to tags, i.e this button allows you to make multiple steps without saving changes to tags.
When and why and how to use it?
...but "Import New" imports no preset.Its because you have all presets up to date.
Its because you have all presets up to date.
Notice that excluded words remain unchanged, not become lowercased! That's why multiple steps ('Reapply rules' button) may be useful.
Most values now are 'white' or 'invisible' on a white background - can only be seen if a row is selected - in my case: white letters on red background.Same here. White on white unless the row is selected. Just recently updated to the 2013-02-18 version.
@beeing good:
Does it happen only with FLAC files? What happens when you edit tags of other types of files?
@beeing good:
Does it happen only with FLAC files? What happens when you edit tags of other types of files?
I have only tried with mp3s but I can try with FLAC next time I have some.
I can't seem to find the Swap Tags command ???Seems that you don't have 'Additional Tagging and Reporting Tools' installed. Download this plugin from the 1st post on this topic and install it. See 'Tools->Tagging Tools->Swap Tags' menu item.
Where do I find it?
I misread the instructions on page 1. I actually thought that v2.1 already has this plugin integrated in MusicBee. :PI can't seem to find the Swap Tags command ???Seems that you don't have 'Additional Tagging and Reporting Tools' installed. Download this plugin from the 1st post on this topic and install it. See 'Tools->Tagging Tools->Swap Tags' menu item.
Where do I find it?
Anyway, here's another question: in some tracks, the name of the featured artist is on the title, now how do I copy the name of the artist to the artist tag field?Give some real example.
This will require a lot of manipulating - it will only be worth it in my opinion if you have a few hundreds of these.I actually have more than a couple hundred of those files.
With the ASR plugins you will have to take several steps, but before that you should filter all titles mentioning 'contributing artists' and standardize the label for it.
It can be ft. ft feat. feat. featuring & with vs vs. etc...
After you have found all tracks with all these variables, use general search and replace (not the ASR plugin) to replace the variables step by step by a uniform unique character (example: #).You got me confuse here. The format I use for tracks with a featured artist is this:
Then use the ASR plugins to split the title tag in two separate tags, using the # as a splitter. The contributing artist could be stored in an empty field such as TEMP (you can create that yourself.
Then use the copy tag plugin to add the newly isolated contributing artist to the end of the original one, separated by ; (see the bottom S&R features for that)
Quite some work - but possible...
Seems ok after hitting F5.Then it's a bug in plugin. I'll check auto-refreshing in it. Last question: Fields aren't updated when preset is auto or manually applied?
I keep getting this error (just downloaded the latest beta):QuoteSome tag names are duplicated. Plugin is not properly initialized.
@Boroda:Good news
Newest version solves most of the autorefresh problems.
I'm using MB 2.1.4770 and the latest plugin (also tried the 2013-03-02 version), and get the same message. Is there something else I'm missing? I've loaded the files to the Plugins folder, but I still get this error. I'm running MB on a desktop running Windows XP.What localization of MB are you using?
I'm just using the standard install (english?) without any localisation added.I'm using MB 2.1.4770 and the latest plugin (also tried the 2013-03-02 version), and get the same message. Is there something else I'm missing? I've loaded the files to the Plugins folder, but I still get this error. I'm running MB on a desktop running Windows XP.What localization of MB are you using?
@superstar19Thanks. That worked.
Try to upgrade MB to latest version (http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip).
About 1.
Didn't find any problem. Is some preset ticked for autoapplying in your case?
About 2.
For unicode text 1st 2 chars should be Byte Ordering Marker. I created UTF-8 text in Notepad and all worked fine.
Yes, that seems to be the case. It's working fine without having auto-applied preset. But not working properly with having one.What preset was ticked for autoapplying?
UTF-8 is working fine. I meant UTF-16LE as "Unicode" in encoding option of Windows Notepad.Yes, there was an error. Its fixed. See 1st post for download link.
@superstar19
Try to upgrade MB to latest version (http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip).
What is this "latest", patched version of MB? Is it your own build? Will this patch be included in the official version?It's latest build made by Steven which is not yet officially released. Later this patch will be included in official release.
Sorry if this has been asked and answered:I didn't test it well, but plugin should respect these settings
Does this plugin (and, in fact, others) respect the Save tags to the music file setting, under Tags(1)?
i.e., if I disable that option and use this plugin to make changes to tags: Will those changes be applied just to MB's data-base?
In the meantime, I've discovered that while typing in this plug-in, hotkey combinations are transmitted to MB as though I weren't typing in any field. I don't know if you can fix this, or if Steven would need to.I tried to make a hack to workaround such keys, but didn't succeed. So I need Steven's help to intercept some common keys such as space or enter assigned as hotkeys.
I tried to make a hack to workaround such keys, but didn't succeed. So I need Steven's help to intercept some common keys such as space or enter assigned as hotkeys.
If I told it to append with ; as a separator, it wanted to put ; even in tags that should be blank. If I told it not to use a separator, then when there was a value in both Writer and Composer it mushed them together.I have an advice, but think its too late. You should copy Writer to Composer without placing ';' and only for tracks with empty Composer. Then copy Writer to Composer placing ';' only for tracks with not empty Composer.
And somehow the tags where Writer had multiple values got copied as a single value. As soon as I go into the file and open the Composer split screen, it sorts them out correctly without my doing anything. But until I do that, I have values showing up in Library Explorer like "Andy SelwayJules Hodgson; Sascha Konietzko; Lucia Cifarelli; Andy Selway". Which somehow fail to make the associated tracks appear in the main window, even though they show up in Library Explorer...Try the following: select all tracks with single-value-composer. Use 'Swap tags' command with Composer selected as both source and destination tags. Tick 'Smart swap'. Click proceed. This should convert ;-separated value to multiple values for Composer.
It would be great if null can be selected for tags with ASR presets:I'll add 'null' tag to ASR.
http://getmusicbee.com/forum/index.php?topic=9182.0 (custom fields were used instead)
Try the following: select all tracks with single-value-composer. Use 'Swap tags' command with Composer selected as both source and destination tags. Tick 'Smart swap'. Click proceed. This should convert ;-separated value to multiple values for Composer.
1. How about going one step further by adding <clipboard> tag to Copy Tags command pane so that the user even don't have to save tags to text file?I think its possible, I need to investigate this.
2. It would be great if ASR presets support <text file> or suggested <clipboard> tags.Don't want to do this. Too difficult.
3. Is it possible to enter or insert <tab character> in "Custom Text" box with Split ASR presets?Not sure, try '\t' escape char.
3. Is it possible to enter or insert <tab character> in "Custom Text" box with Split ASR presets?Not sure, try '\t' escape char.
@redwing
1. I've added <Clipboard> pseudo tag to 'Copy tag' command.
2. I'll make \t to work as tab char.
Let me know when tab is done. I'll write 2nd part of the how-to instructions with this new feature.Its done. See download link in the 1st post.
Let me know when tab is done. I'll write 2nd part of the how-to instructions with this new feature.Its done. See download link in the 1st post.
This is intended behavior. Actually you can use destination tag same as source tag with split/merge presets, but destination tag should be the last customizable tag.
Then, cannot use it if it's not the last tag?No, you can use if not last tag, but then source tag will be substituted with replaced value and this substituted value will be used in subsequent steps. This is mostly likely undesirable.
Then, cannot use it if it's not the last tag?No, you can use if not last tag, but then source tag will be substituted with replaced value and this substituted value will be used in subsequent steps. This is mostly likely undesirable.
P.S. Sorry for my English
My question was if there's any way you can modify regex/steps to perform the task when it's not last tag.Lets see 2 examples: 'Comment' tag with value...
For example #2, this modification can handle the task.No, <Null> is not <Temporary tag>. Writing to <Null> does nothing. Reading from <Null> always returns empty string. You can use 'Custom16' tag for example as temporary tag. Alternatively I could add <Temp> pseudo-tag to ASR.
(http://i.imgur.com/6PRkUqL.png)
Both presets are working fine.This is unintended, but useful behavior :)
The only problem is that the user cannot use <null> field to discard unnecessary string since it will overwrite the field. But the suggested <temp> tag would be the solution for that. So do you mean that the user have to do all these configurations? How about modifying merge/split presets like this?I'll add several <Temp#> pseudo-tags and will modify split/merge presets, so users can safely use any combination of customizable tags.
BTW split presets are not parsing properly with period "." as delimiter.This is downside of allowing escape sequences like '\t'. Use '\.' instead of '.' as delimiter.
Both presets are working fine.This is unintended, but useful behavior :)The only problem is that the user cannot use <null> field to discard unnecessary string since it will overwrite the field. But the suggested <temp> tag would be the solution for that. So do you mean that the user have to do all these configurations? How about modifying merge/split presets like this?I'll add several <Temp#> pseudo-tags and will modify split/merge presets, so users can safely use any combination of customizable tags.
BTW split presets are not parsing properly with period "." as delimiter.This is downside of allowing escape sequences like '\t'. Use '\.' instead of '.' as delimiter.
Then only for period or any other characters? Maybe some notes should be displayed.For some chars. I think I should rollback to old behavior and make some special escape sequence for tabulation only (eg. <TAB> or something else).
Then only for period or any other characters? Maybe some notes should be displayed.For some chars. I think I should rollback to old behavior and make some special escape sequence for tabulation only (eg. <TAB> or something else).
@redwing
4 temp tags are added to ASR preset editor. '<tab>' (lowercased) special string is now used for tabulation in custom text. See 1st post for download link. Later I'll update ASR presets which will use new temp tags.
Let's say I have 3 cd's of the opera Rigoletto. Cd's already numbered 1-2-3. Tracks already numbered for each cd: 1-24.Yes. 1st download latest plugin version. Then find ASR preset "Combine tags '<Tag 1>', '<Tag 2>', '<Tag 3>', '<Tag 4>' and write result in '<Tag 5>'". Set <Tag 1> to 'Album', <Custom text 1> to ' - ', <Tag 2> to 'Disk #', <Custom text 2> to '.', <Tag 3> to 'Track #', <Custom text 3> to '. ', <Tag 4> to 'Title', <Tag 5> to 'Title'.
The tracks already have their correct title.
But I want to change the title as in the following format:
<album/opera> - <cd>.<tracknr>. <tracktitle>
With the copy tag feature it is very easy to insert the album/opera name at the beginning of the title field.
But is there a way to add the cd number + track number as well?
An even more complicated version of this problem is the following:Try to manually set disk# to 1,2,3 according to act#, then use native 'Renumber tracks' command.
The opera has 3 acts but covers only 2 cd's. So you can not use the disc number as the act number. Act 2 could already begin towards the end of cd 1, so the track numbers there will not correspond with the act-track-number. I don't see how ASR or another clever tool could create automatic numbering there... Or....?
Have a look at this post: http://getmusicbee.com/forum/index.php?topic=9461.msg55880#msg55880I asked Steven one question. Waiting for his response.
I was trying to auto-copy with TOY copy preset Love field to a custom filed. But the target field wasn't auto-updated unless the file is saved with an updated value. It would be great the field is auto-copied in real time without having to save files with an adjusted love value.
4/22/2013 8:16:57 AM - 6.1.7601.65536 - 2.1.4848.35226 - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: Specified cast is not valid.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSavedSettingsType.Write7_SavedSettingsType(Object o)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
at MusicBeePlugin.Plugin.SaveSettings()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at #=quLLvjgdAE_Nbqv7HRl0cvqQWB2pnoxzHVLUwc4mHJKE=.#=qzRKLcqgbtCzWHxB2sX1UDA==()
MusicBee v2.1.4860.34625 (Win6.1), 23 Apr 2013 0:46:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.IOException: The process cannot access the file 'C:\Users\Mark Jr\AppData\Roaming\MusicBee\mb_TagTools.Settings.xml' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.Delete(String path)
at MusicBeePlugin.Plugin.Uninstall()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at #=qEZFsCbHjVDNOvCg3YjPCSEtOFBh4LLpcTeHbTs2gLs8=.#=qBET49i1uhGv7Oji4taeuBg==()
The process cannot access the file 'C:\Users\Mark Jr\AppData\Roaming\MusicBee\mb_TagTools.Settings.xml' because it is being used by another process.The file is plugin settings. Strange that its locked by another process. Can you delete this file manually (first exit MB)?
MusicBee v2.1.4870.30402 (Win6.1), 4 maj 2013 15:05:
System.NullReferenceException: Odwo?anie do obiektu nie zosta?o ustawione na wyst?pienie obiektu.
w MusicBeePlugin.ASRPresetEditor.saveSettings()
w MusicBeePlugin.ASRPresetEditor.buttonOK_Click(Object sender, EventArgs e)
w System.Windows.Forms.Control.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
w System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.ButtonBase.WndProc(Message& m)
w System.Windows.Forms.Button.WndProc(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
@VX
New in 'Copy tag' command: now its possible to copy '<Null>' pseudo tag to 'Lyrics?' tag to mark track as having no lyrics. Copy '<+>' pseudo tag to clear this mark.
P.S. Use latest plugin & MB version for this.
@VX
New in 'Copy tag' command: now its possible to copy '<Null>' pseudo tag to 'Lyrics?' tag to mark track as having no lyrics. Copy '<+>' pseudo tag to clear this mark.
P.S. Use latest plugin & MB version for this.
New in 'Copy tag' command: now its possible to copy '<Null>' pseudo tag to 'Lyrics?' tag to mark track as having no lyrics
"Lyrics?" should be the last tag in destination tag list
Having "track gain mp3 conversion preset" auto-applied, even copying and pasting a single MP3 file sometimes freezes MB without leaving any error log. I remember I had the same freezing issues when I tried to convert RG values to SC values with that preset. So maybe it's not about auto-applying but about the preset. When you have time, have a close look at those mp3 conversion presets.Does this happen only with mp3 preset? Not with m4a?
Edit2: I found one more condition: it has to be main panel with Music library node selected. When I edit tags and save the file in a playlist, there's no crash.This seems to be some MB bug.
There is a little chance that manually applying some ASR preset when another preset is ticked for auto-applying could cause UI freezing. I cant reproduce this, but from what other people says it may be possible.
Edit2: I found one more condition: it has to be main panel with Music library node selected. When I edit tags and save the file in a playlist, there's no crash.This seems to be some MB bug.
Its fixed (http://www.mediafire.com/download.php?bi2j6727xfblo5n).
In what folder or under what name should I look for my old presets?
I find a long list of unrecognizable codes there. How can I find out which ones are those that I created/edited myself???Just copy whole folder to the new location on reinstalled system and then use 'Import all' button in the Advanced Search and Replace plugin window.
I think I should add that the files handled by MB are all FLAC, many with manually added tags, but only few of these are defined in MB.
Usually I work with Foobar2000 to handle tags and everything else.
1.2.7
Now using latest & greatest libFLAC 1.3.0
1.2.6
Fixed misbehavior when updating attached pictures in files with ID3v2.2 tags.
1.2.3
FLAC decoding improvements (beta 3):
-Work-around for certain broken files producing loud glitches.
-SSE optimizations to counter slowdown from the above work-around.
-File Integrity Verifier component now detects such files.
[/qoute]
The plugin informs me that it didn't initialize properly, but I can't say what it means.Improper initialization of plugin means that you cant use (or even see) some tags in all additional tagging tools commands.
I tried to use the library reports, and it seemed to have worked fine.
Is there any constructive info you need?Yes. I see that file properties "Kind" and "Format" both have the displayed name "Format" (strings 2 and 3 in TagTools.PropNamesErrorLog). Displayed names should be unique in MB and for plugin correct work.
What of the logs provided, can they hint at the actual problem?
Rename "Kind" property:Never have known of it.
Preferences--> Layout (1) --> in the 3rd group titled "Main Panel": -->Configure Fields button:
There's a whole list of properties with their original names and that name can be overridden.
@Steven: could you disable duplicated field names when configured in Preferences--> Layout (1) --> in the 3rd group titled "Main Panel": -->Configure Fields button. All in all MB itself requires that all field names should be unique.That validation is already being done in v2.1 (cant remember if it was in place in 2.0).
But i dont see "Lyrics" being used already as a header - what does Lyrics/ -5 mean?This is not a question for me, is it?
But i dont see "Lyrics" being used already as a header - what does Lyrics/ -5 mean?Here is the code from my getFileTag() plugin function:
case LyricsId: //LyricsId is -5
tag = mbApiInterface.Library_GetLyrics(sourceFileUrl, LyricsType.NotSpecified);
break;
case SynchronisedLyricsId: //SynchronisedLyricsId is -6
tag = mbApiInterface.Library_GetLyrics(sourceFileUrl, LyricsType.Synchronised);
break;
case UnsynchronisedLyricsId: //UnsynchronisedLyricsIdis -7
tag = mbApiInterface.Library_GetLyrics(sourceFileUrl, LyricsType.UnSynchronised);
break;
as mentioned MB is already validating for duplicate header labels. As a guess it seems to me you might be adding "Lyrics" yourself which is conflicting with "Lyrics" from BHive's custom tag - but "Lyrics" is not a duplicate in MB itself so will pass the validationActually "Lyrics" tag is not included in "Preferences--> Layout (1) --> Configure Fields" window and MB allows to rename any displayed field name to "Lyrics". Steven, could you disable "Lyrics" displayed filed name? I'm using lyrics as usual tag in plugin, so its very not desirable to allow existence of another "Lyrics" field.
I can't imagine this could be done better with the plugin update as it's a MB 'fault'.You have given me an excellent idea: instead of requesting Steven for modification of MB, just to use in plugin 'Lyrics (any)' (localized) instead of 'Lyrics' (localized) if some tag is already named 'Lyrics' (localized).
...
Steven, boroda - what do you think ???
Would you consider putting this on github?No. What are advantages of github?
@ boroda74
just a tiny error
(http://img546.imageshack.us/img546/2694/tzcl.jpg)
'Noting done.' = 'Nothing done.'
Command removes all '(...)' or '[...]' from '<Tag 1>' (e.g. 'RV 548: 1. [Allegro]' becomes 'RV 548: 1. Allegro').
just noticed that "Remove all '(...)' or '[...]' from '<Tag 1>' isn't working as shown in the example in the plugin dialogueI think its an error in description, but I'll make both variants in future. Right now copy 'Remove all '(...)' or '[...]' from '<Tag 1>' preset and edit it:
[\(\[\]\)]
The reason I am looking for this kind of report is that it was (and believe still is) available in iTunes. Under File there is an option "Print..."Hi, I cant promise you fancy report, but I'll do your requests later (now I'm working on another plugin and don't enough time for this).
Resized artwork doesn't show up both in preview and in the report.
- Added option to resize artworks in "Library Reports" command.
- Memory consumption by artworks is significantly reduced in "Library Reports" command.
Working well, thanks!
- Tag names are refreshed upon opening any command window (MusicBee restart is not required anymore if you changed some tag names).
Resized artwork doesn't show up both in preview and in the report.Working fine here. I'll do more careful testing.
Unlike the previous version, it creates a report for all tracks in the node, not just selected files."Library reports" always listed all tracks included in current (maybe filtered) view, not selected tracks. Use autoplaylist if you need to filter tracks.
Now artwork is working fine, thanks!Seems I write very buggy code for recent time. Thank you.
Would be great if the user can change the order of columns with preview.
BTW got this error with "Calculate subgroupings total" option ticked.
9/9/2013 03:41:23 PM - 6.0.6002.131072 - 2.2.4999.29982 - System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at MusicBeePlugin.LibraryReportsPlugin.previewTrackList()
at MusicBeePlugin.ToolsPluginTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Thanks again for this awesome plugin and sorry if this is OT.No, its not offtopic.
Now i have another two request :) :Create new ASR preset, name it correctly. Search title tag for
1 - First i want to organize all the remix songs I have by adding in the artist tag the author of the remix too like this:
Bonobo - Pick Up (Fourtet Remix)
So i want to add "Fourtet" to the artist tag with "Bonobo". The structure of all my remix songs are the same:
%songtitle (%artist_who_has_done _the_remix Remix). I know that i can achieve this with regular expression but I have no clue how,
so I'm hoping you are so kind to help me :D.
(.*)\((.*)\s*Remix)\)
\null($2)$2
2. After i finished organizing my "artist" tag i noticed that the sort artist tag was also messed, can i copy the first ones to the seconds? i tried using the Copy tag funtion but it seems it doesn't like multiple artist because it doesn't split them even thought the "Sort artist" tag accept multiple entries.What is 'song artist' tag? Album artist? Or 'artist' is album artist and 'song artist' is artist?
This is all, Thanks again for this plugin. In my opinion this should be included by default because it gives so much potential and power to the already awesome musicbee.Thanks for kind words :)
Now i have another two request :) :Create new ASR preset, name it correctly. Search title tag for
1 - First i want to organize all the remix songs I have by adding in the artist tag the author of the remix too like this:
Bonobo - Pick Up (Fourtet Remix)
So i want to add "Fourtet" to the artist tag with "Bonobo". The structure of all my remix songs are the same:
%songtitle (%artist_who_has_done _the_remix Remix). I know that i can achieve this with regular expression but I have no clue how,
so I'm hoping you are so kind to help me :D.Codein title and replace artist tag by(.*)\((.*)\s*Remix)\)
Codein step 1. Tick (+) checkbox to add (not to replace) new artist. Leave other steps blank. I didn't test these instructions, so try them first on 1 test track.\null($2)$2
What is 'song artist' tag? Album artist? Or 'artist' is album artist and 'song artist' is artist?I thought that i could put multiple Artist in the "Artist Sort" tag but it doesn't work as i want.
Thanks i tried setting the preset but every time i do a preview it crashes closing musicbee, here the error given every time:Yea, my fault. There are even more mistakes. This time I've tested my advice :) Search for:
(.*)\((.*)\s*Remix\)
\@null($2)$2
Thanks!
When I click on Enable, It says "Access to the path 'C:\Windows\Temp\TagTools.TagNamesErrorLog.txt' is denied."
Did you restore your system with Windows restore point option?
No, I didn't. In fact I have that option disabled. BTW was your previous setup a portable or a normal installation?
This version will write error logs to 'AppData' rather than 'C:\Windows\Temp'
BTW I also noticed Now Playing to Text File plugin writes its output files and error logs in the same Windows folder. You might want to consider changing that too.I did right now: Now Playing, Social Networks Status and Tag Tools plugins are updated.
First it won't make the words "Of" and "A" lower case.Excluded words are not changed, not become lowercased! You should lowercase tags with 'exclude words' unticked, then 'sentence case' tags with 'exclude words' ticked (click 'Reapply rule to new tag' button instead of Preview/Proceed to make 2nd step without saving tags).
And the list of exceptions doesn't seem to be saved after closing the window. I've only experienced this the last few weeks. I've updated the plugin and I reinstalled MusicBee (including latest patch).Nothing was changed for saving exceptions for ages. All settings are saved only after you click 'Proceed' button.
@boroda74:Very strange behavior. I'll try to fix it.
Upon clicking on "Clear", it sometimes deletes a template for "exclude words" when it has focus. If it's not intended, how about disabling that behavior?
Now they write error logs in both folders. Deleted files in Windows\Temp folder but they keep regenerating them.
Just to let you know, this bug is not fixed for ASR plugin. The thing is that it updates the two text files for both paths when MB starts, but when I launch ASR plugin it updates the files in \Windows\Temp folder only. Probably that's why it keeps doing that.I missed several places in the code. That's fixed now. Thank you.
Also Now Playing plugin's default folder for output files is still set to \Windows\Temp folder. It's configurable, but it would be nice if it defaults to AppData folder especially for a portable version.I'll change defaults.
(.*?)\s*[\(\[][^\)\]]*?[\]\)]$
Isn't there a way to make it remove an (editable) set of given strings when they appear in the title?
- support for the following predefined tags - see this topic
Genres, Artists, Artists: Artist, Artists: Performer, Artists: Guest, Artists: Remixer
No, they are currently not exposed in api.
Auto-reports also seem to be taking a lot longer than normal reports did.This is maybe because background threads have lower priority in my plugin, not sure though.
Having some problems with the plugin Boroda. I thought it might be something that was happening without the plugin, but I disabled it for a week as a test. Didn't experience it once, but re-enabling it today gave me the problem again.At the moment I'm very busy at my work. I'll try to test plugin with hibernating (never tried this) when I can.
What is essentially happening is that when I hibernate the computer with MB open, then load the computer up again, MB becomes unresponsive and can't be closed without task manager. I haven't managed to isolate the exact reason as to why it doesn't happen every time. I think it's probably something to do with my auto-report though. I have the following auto-report set up, although it's currently disabled as waiting for it to finish slowed down tag editing too much.
<Album> (Grouping)
<Album Complete (V)> (Grouping)
<Playcount> (Sum)
Save only if <Album Complete (V)> is "Yes"
Save field <Playcount> (Sum) to <Album Playcount (Sum)>
<Album Complete (V)> is a virtual tag defined by $If($And($If($Or(<Album Complete?>="Y",<Complete Album>="Yes"),Yes,)="Yes",$If(<Release Type>="Album",Yes,)="Yes"),Yes,).
Also, feature request/question - what's the reason behind the summation reports being applied to all files in an auto-report, regardless of the Save only condition? This is one of the reasons that the auto-report takes too long for me to have it permanently applied.As I understand you mean that 'Save only...' option does nothing for you? It's strange and this is a bug if it's so. I'll check this later.
Also, feature request/question - what's the reason behind the summation reports being applied to all files in an auto-report, regardless of the Save only condition? This is one of the reasons that the auto-report takes too long for me to have it permanently applied.As I understand you mean that 'Save only...' option does nothing for you? It's strange and this is a bug if it's so. I'll check this later.
This one's now working fine. Haven't had a chance to test out the other one yet. I'll get back to you in a week after some proper testing. Cheers for the fix boroda!
- Fixed checking condition in 'Auto library reports' command.
Maybe loving tracks issue is also solved now. Please check it.
Why does this happen only with those presets?I think it happens with any ticked for auto applying preset.
It's working with a delay as you described but for some tracks still not working at all. Main panel is just working fine.How do you think, should we ask Steven to fix it?
BTW it seems that refreshing multiple tag editor is working now (with delay up to 5 sec.)
Regarding multiple tag editing, are there any differences between the two 2-22-2 dll files? They look just the same in their file size and modified date.No, they are the same. I just reposted the link .
Yet, previous version is working without issue (except refreshing the changed tag value) while current version sometimes does not work properly: file gets missing, auto-applied preset fails rewriting tags, etc.Could you be more specific?
There's a problem writing MB's 5 point scale rating values (when sent to clipboard with <rating> in Tags(2) setting) back to files. Tried with both clipboard and text file options, but "No rating" does not overwrite the file's existing rating value. Preview shows correctly, though.Can't reproduce what you said, but there was a bug with ratings. Ratings in text file/clipboard must be in 0-5 range.
BTW when I tried to run copy command with text file option without choosing a text file, it gave me a long error message. Maybe it could just return focus to the text file selection box instead since it's most likely the user simply overlooked to do so.I've added simple error message "File not found!" if source files doesn't exist or file name is empty.
There's a problem writing MB's 5 point scale rating values (when sent to clipboard with <rating> in Tags(2) setting) back to files. Tried with both clipboard and text file options, but "No rating" does not overwrite the file's existing rating value. Preview shows correctly, though.
Need a bit of help please.
I'm trying to duplicate all my Mp3tag actions with the AT&R Tools plugin.
I've got almost all done, but my limited knowledge of regex has got me stumped with this one:
Custom tag - Release Date Sort - numerical in the form YYYYmmdd.
Mp3tag action checks to see if dd is in range 01 to 31 then saves dd/mm/YYYY in Year tag otherwise only saves YYYY.
Anybody know how to do this in Tagging Tools?
There's another panel where auto-application of ASR plugins interferes with changing ratings of playing track.i dont have your set up so i am doing some guesswork, but i think this should resolve the issue:
It's track info panel with "playing track" selected. When a track is playing I cannot change ratings from second time for some tracks. Changing love status is working fine. If I disable SoundCheck conversion presets, then I can change ratings on that panel for any files.
There's another panel where auto-application of ASR plugins interferes with changing ratings of playing track.i dont have your set up so i am doing some guesswork, but i think this should resolve the issue:
It's track info panel with "playing track" selected. When a track is playing I cannot change ratings from second time for some tracks. Changing love status is working fine. If I disable SoundCheck conversion presets, then I can change ratings on that panel for any files.
http://musicbee.niblseed.com/V2_4/MusicBee_Exe_Patched.zip
If it doesnt work, could you reply to a new bug topic
(\d\d\d\d)(\d\d\d\d)
$1
(\d\d\d\d)([1][0-2]|[0]\d)([00]\d)
$1
I could even try to like yellow more for your help with this :):)
Thanks heaps redwing
Made a slight change to the second part:(\d\d\d\d)(\d\d\d\d)
$1
toCode(\d\d\d\d)([1][0-2]|[0]\d)([00]\d)
$1
so it didn't write 00/00/YYYY when dates weren't valid.
I could even try to like yellow more for your help with this :)
(Nahhh. That's not gonna happen :D )
Hi, I'm currently using 4ASR - one of them for date created (thanks again for that) and 3 'Copy-tags' to remove unwanted tag fields.I'm not very familar with how the ASR works - in your case is it reacting to when you save a file in the tag editor or if not, can you explain what is triggering the ASR to perform an action?
The problem is that Musicbee stops after around 4~10songs -The process seems to be running in task manager, just the window is unresponsive and no report is given. I can manage it fine by enable the plugin only when adding new songs but would you have any idea what might cause this problem?
I'm not very familar with how the ASR works - in your case is it reacting to when you save a file in the tag editor or if not, can you explain what is triggering the ASR to perform an action?
Editing tag invokes the presets as far as I know. So it left me blank because MB plays the song till the end for when the error occurs and the next song is kinda stuck at buffering (minilyrics showing the lyrics trembling)is your library auto-organised and if so, do you think one of the fields that affects file naming might have been changed (by yourself or by the ASR)?
Hi, I'm currently using 4ASR - one of them for date created (thanks again for that) and 3 'Copy-tags' to remove unwanted tag fields.The similar problem was in past when plugin started to update UI periodically instead of on every track update. I'll try to check this.
The problem is that Musicbee stops after around 4~10songs -The process seems to be running in task manager, just the window is unresponsive and no report is given. I can manage it fine by enable the plugin only when adding new songs but would you have any idea what might cause this problem?
New plugin version released:
- New ASR preset 'TOY: Change case'. Don't forget to import presets after upgrading plugin.
http://www.mediafire.com/download/nog19x1azdqjy7y/mb_TagTools_2014-03-19.zip
- Always capitalize last word, too:Its done.
I didn't pay much attention to this, but it's the rule most styles require for title case however awkward they might look sometimes.
- User input text that will be respected over any other rules:Too difficult to do.
This is for handing phrasal verbs that should be always uppercase and some special cases where mixed cases are required. Custom Text 2 box could be used for this with the following format:
Beat Up; Blow Out; Break Down; The Bad Seeds
I'm working on a how-to guide on this preset and will post it later.Thanks
It seems the linked file is identical to the previous version.Yes, but preset 'Change case' is modified.
Yes, this is correct. Works for me. Are using 'Change case' command or ASR preset? For 'Change case' command you should tick 'Words splitters' option and add period to word splitters.
Add "feat" (without period) to excepted words
I could create ASR preset to copy any tag to guest artists.
http://www.mediafire.com/download/s87uco67sc2l5i7/mb_TagTools_2014-04-04.zip
See new ASR preset 'Copy guest artists from <Tag 1>'
- There's a typo in the preset nameThat's fixed for the net update
- How about using MB default delimiter "; " instead of ","?
- Can you show in the dialog just guest artist tag values? Currently it shows them along with artist values that could be confusing.This would require rewriting the entire ASR command. Don't want to do this.
Could you also create a new preset that removes all duplicate entries from a multi-value field like genre and artist?See ASR preset 'Remove duplicated entries from <Tag 1>'
That'd be useful for various cases including the request in this thread: http://getmusicbee.com/forum/index.php?topic=12441.0
Would be great if the preset could remove multiple kinds of duplicate entries at once regardless of their places (consecutive or not).
See ASR preset 'Remove duplicated entries from <Tag 1>'
http://www.mediafire.com/download/88pjrri86eyto6r/mb_TagTools_2014-04-04-2.zip
It works, but with some limitations.Its a known limitation, but I'm afraid I can't avoid it.
- For genre tag, it removes one duplicate entry at a time. So for the given string "Funk; Funk; Funk; Pop; Pop", it needs to be applied 4 times to make it "Funk; Pop".
- For some reason, artist tag doesn't show a semicolon between multiple artists on the plugin dialog. Because of this, I can't make the preset work for artist field.See new ASR presets "Remove duplicated entries from tag 'Artist'"
As far as I can see from source code you can rename presets as long as you keep double extension ".ASR Preset.xml"
As far as I can see from source code you can rename presets as long as you keep double extension ".ASR Preset.xml"
Wouldn't you also have to change the GUID reference in the preset .xml to match the new custom preset name?
Or would "guid.CustomName.ASR Preset.xml" work?
.*\\(.*)\\.*\..*
$1
I think it should suppress MB's hotkeys while the plugin's pane is active. For instance, I have assigned space key for play/pause. If I use the key while editing something on the pane, the selected track starts to play. It doesn't make sense since I can't even see what track is selected. Ctrl-C and V also function as MB's default hotkeys for copy and paste tags. It would be great if this can be fixed.
Haven't been able to test whether it happens if there isn't an auto-report enabled
When the plugin is activated in MB, and a second monitor is connected (or disconnected) from the computer while MB is open, MB freezes and has to be manually closed by killing the process in Task Manager. This doesn't happen when the plugin is disabled. Haven't been able to test whether it happens if there isn't an auto-report enabled (my auto-report is always enabled and I don't have much time for bug-tracing currently).I think I need Steven's help to resove this, but I'm not sure if he has enough time/willing to help me fix it ((
Also, a minor one. If an auto-report is cancelled using the cross which appears in the status bar, you can't then access the auto-report menu as the message "Background auto-report is still running!" pops up.Thanks for this bug report. I'll fix this.
I think I need Steven's help to resove this, but I'm not sure if he has enough time/willing to help me fix it ((not now but maybe in a couple of weeks - although it seems bizzare the plugin or musicbee would react this way. Perhaps you could debug what the plugin is doing at the time so it helps identify what MB is doing?
When the plugin is activated in MB, and a second monitor is connected (or disconnected) from the computer while MB is open, MB freezes and has to be manually closed by killing the process in Task Manager. This doesn't happen when the plugin is disabled. Haven't been able to test whether it happens if there isn't an auto-report enabled (my auto-report is always enabled and I don't have much time for bug-tracing currently).I think I need Steven's help to resolve this, but I'm not sure if he has enough time/willing to help me fix it ((
If an auto-report is cancelled using the cross which appears in the status bar, you can't then access the auto-report menu as the message "Background auto-report is still running!" pops up.Please try this version:
<element id="InputPanel.Default" bg="x,x,x" />
<element id="Controls.InputControl.Default" fg="x,x,x" />
Could you try new version with different skins and say me if it looks appropriate?
However, all I apply all the ASR presets manually (i.e. none of them are auto-applied).Thats what wanted to hear.
@redwing
I've made a guesswork, try this version:
http://www.mediafire.com/download/33mb5u0e1mm55sm/mb_TagTools_2014-06-18.zip
Again they write SoundCheck values like "\@rg2sc4mp3(-7.2 dB)".Do you use new plugin dll?
Well, this issue led me into carrying out some inquiries into the tag and tagging alchemy. How fascinating what kind of different tags I have and what a mess it all is despite my continuing effort to sort it out. But the tag inspector and mp3tag have been quite a revelation. So many tags i didn't even know that existed...
Thanks for the answer. I just had the appropriate fields make appear in the mapping section, they were all set to the Mp3-syntax. Now it is doing some massive rescanning.
This is why I use Picard and have it clear all the previous tags when I update a file. :)
This is not a plugin error, report it on 'bug reports' board of the forum.Thanks for the answer. I just had the appropriate fields make appear in the mapping section, they were all set to the Mp3-syntax. Now it is doing some massive rescanning.
Well, as a matter of fact I think it rescanned my whole library and gave me this mistake after several hours:
MusicBee v2.4.5269.30921 (Win6.2), 11 Jul 2014 19:49:
System.ObjectDisposedException: Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: "#=qZcOoNq1DImCHhjWS4wILwg==".
bei System.Windows.Forms.Control.CreateHandle()
bei System.Windows.Forms.ListView.CreateHandle()
bei System.Windows.Forms.Control.get_Handle()
bei #=qq1CSXB9XcKvGpSEk$$FvZHF9vT4jzHeeLkxN51zhNTE=.#=qjUul2rXffhiJyXNsWkYfUBC7SnFbiOIQSflvjOKCwOM=(Control #=qpjCGJ0KVhm7LTwjMUXePuQ==)
bei #=qXHs8DrqylTrO5DFcIp8SJpiCIP8I5vodPfGiuYmLbT6Lqc2AQ_bLXv7zjiD5FK_I.#=qXqBR0Es1XLl6yApfKPXNuJsQmdLFDA$GCb99MfRF4qM=()
bei #=qrBrSPhqcgPCVwICmqlF859Z_oHyjuHie1Qrvl13$tXAMkK05d_NsTFNLk$o5yjaV.#=qTgnrl14xw62I76lvI$Y4Ew==(Int32 #=q0WaB1P1E4jlTNNA_ug5h3g==, Int32 #=qqaLbKISX7XlpQZAyehFEEg==)
bei #=qrBrSPhqcgPCVwICmqlF859Z_oHyjuHie1Qrvl13$tXAMkK05d_NsTFNLk$o5yjaV.#=q4NmnxNOsyq2DqcUca_JgCg==(Int32 #=qy4Jxf9_YaokRnhBGbRF9uA==)
bei #=q31hb2ndEbcfTut1kIWWGJUarcFBzV42_HvsaIYiLB44=.#=q7rSkvjCt9QPyf4FL9dWQJeInjxu$9dr4nI826OFKXss=(#=qbSU12pVww9e0YOyjAZeuSA== #=qmT0hvBDBB31JYNPqpnNU3w==, Boolean #=qfn43u7jEOA6ozQ1ddACMZHBDC8Q8prZoJk$aCk30BRU=)
bei #=q7zOaljZ$XUmBStoexi1xEmnHSfVJfpgaNCPYOQcan2I=.#=qbSU12pVww9e0YOyjAZeuSA==.#=qIMMDzOq68lKN5fI4NH7pSNJqSmrjD0l1wnbpza5dF28=()
I don't know what it means but anyway here is the mistake.
These tags are read-only. However there are possible workarounds for ASR. What do you mean exactly by "ability to edit"?
(^|\x00)\x02([^\x00]*)
$1\@char(1)$2
Pingaware, sorry for delay, I was very busy at my work.
... What do you think?It would be very complicated for copy tag command, but probably I could do this for ASR. I'll look at this later.
- It doesn't handle well when album artist/sort artist/sort album artist fields are empty as it just writes down artist value to sort artist and sort album artist field. Shouldn't it do so only when those fields have distinct values?1. For Album Artist: its an MB bug, I've reported it to Steven ans is waiting for his answer.
2. For Sort Artist, Sort Album, etc.: these tags are just custom tags and may be actually any of custom tags or may not exist at all. So I'm afraid I cant make special handling for them (though MB internally recognizes these tags and handles them in a special way).
1. For Album Artist: its an MB bug, I've reported it to Steven ans is waiting for his answer.Actually it was a plugin bug and its fixed in the version above.
- Often newly pasted files don't seem to have changed at all in their tag values, when seen from the main panel and tag editor. But if I rescan them, MB says it can't locate the files. After removing them, the pasted files show up correctly. This never happens with MB's internal Ctrl-C/Ctrl-V.Probably this was my fault. Try new version.
- If you can't fix the sorting issue for the two field lists, probably the previous version would work better. Currently it's really confusing to configure the setting because the fields are not sorted alphabetically, hiding somewhere in two windows.Sorting is not a problem.
- When minimized, the top border of Copy and Close button gets removed.Cant reproduce and didn't understand clearly what you are meaning. Screenshot could help.
- More width is needed for each column as some field names (display composer & sort album artist) are truncatedYes, I know this, but its out of my control.
I'm gonna post a how-to guide about the new commands soon.Thanks.
This version should work:
http://www.mediafire.com/download/8dtj5fnfhmuzqc3/mb_TagTools.dll
Musicbee crashes immediately when I go toNo, plugin is started/invoked at MB startup/clicking on plugin menu item, not on opening all plugin prefs or just openening Tagging Tools menu. I'm not sure what could I log in this situation.
->Edit/Preferences/Plugins
or
->Tools/Tagging Tools
probably when Musicbee is trying to load it.
No, plugin is started/invoked at MB startup/clicking on plugin menu item, not on opening all plugin prefs or just openening Tagging Tools menu. I'm not sure what could I log in this situation.Ah, you are right. Now it's even crashing a few seconds after the Musicbee start,
Yes. clr.dll is common language runtime. Its a part of .net framework. Try reinstall .net first.
I don't have Reg Exp knowledge but am hoping someone could give me the Reg Exp code which would allow me to - " Add an ordinal number to the beginning of Title, increased by specified value" - This is mostly for Classical tagging.
eg : Original -
Preludios Americanos - Evocacion
Preludios Americanos - Scherzino
Preludios Americanos - Campo
Preludios Americanos - Ronda
New -
Preludios Americanos - 1. Evocacion
Preludios Americanos - 2. Scherzino
Preludios Americanos - 3. Campo
Preludios Americanos - 4. Ronda
Thanks - David
I'm using Advanced Search & Replace - (Preset "Split Tags to ......) for an album which has a number of split values for (Artist).
The original artist format is :
Bix Beiderbecke / Paul Whiteman & his Orchestra
Bix Beiderbecke / Frank Trumbauer & His Orchestra
i would like this to be:
Artist 1 = Bix Beiderbecke
Artist 2 = Paul Whiteman & his Orchestra
Artist 2 = Frank Trumbauer & His Orchestra
Cannot get this to work. Some help would be appreciated
David
I notice that if i edit the tags in Foobar using ";" as the split character MusicBee changes this to " / " then i have to go through the split process you described.
Given that MusicBee also uses ";" for splitting do you know why it changes it to " / " ?
MusicBee v2.5.5524.39432 (Win6.2), 18 Feb 2015 1:51:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AutoRatePlugin.InitializeComponent()
at MusicBeePlugin.AutoRatePlugin..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.autoRateEventHandler(Object sender, EventArgs e)
at #=qOQLu0JmgzQo$2ZdDrQQe12OrwXflzNjHEoSdrrSwLsPsSNmq$_gZyqD7qVQ4rQww.#=qFqKrvY1c320y93RWz_d7Pg==(Object #=qRzfhR_ZoP4ghNlUG9SvRag==, EventArgs #=qPphfixBs9dCqakgxrq5Oeg==)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
New version released:
- Added support for wring 'Lyrics' tag (requires latest version of MusicBee 2.5, on 2.4 writing to 'Lyrics' tag will be ignored).
http://www.mediafire.com/download/73cuewyrc1p2xfu/mb_TagTools_2014-11-27.zip
New version released:
- Added support for wring 'Artwork' tag (only primary artwork is written, requires latest version of MusicBee 2.5, on 2.4 writing to 'Artwork' tag will raise exception).
http://www.mediafire.com/download/em1g6lbh5o6i8x2/mb_TagTools_2014-12-30.zip
I keep getting the following error when I try to use the auto rate function.it seems that your .net framework is corrupted. try to reinstall .netQuoteMusicBee v2.5.5524.39432 (Win6.2), 18 Feb 2015 1:51:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AutoRatePlugin.InitializeComponent()
at MusicBeePlugin.AutoRatePlugin..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.autoRateEventHandler(Object sender, EventArgs e)
at #=qOQLu0JmgzQo$2ZdDrQQe12OrwXflzNjHEoSdrrSwLsPsSNmq$_gZyqD7qVQ4rQww.#=qFqKrvY1c320y93RWz_d7Pg==(Object #=qRzfhR_ZoP4ghNlUG9SvRag==, EventArgs #=qPphfixBs9dCqakgxrq5Oeg==)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
... and i noticed a can't modify the similar action meant for the displayed artist tag in order to put the input to title.you can copy preset and edit the copy
Hi Boroda,seems that your library is too large
got flwg.error msg. when try 2 create library report of my db...
Got this error msg. when try to create library report:
MusicBee v2.5.5524.39432 (Win6.0), 27 feb 2015 15:34:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.String.SplitInternal(Char[] separator, Int32 count, StringSplitOptions options)
at MusicBeePlugin.LibraryReportsPlugin.prepareBackgroundPreview()
at MusicBeePlugin.PluginWindowTemplate.clickOnPreviewButton(DataGridView previewList, PrepareOperation prepareOperation, ThreadStart operation, Button clickedButtonParam, Button closeButtonParam)
at MusicBeePlugin.LibraryReportsPlugin.buttonPreview_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
i am using yr latest update fron dec.'14
help?
Mike
thanks redwing for reporting these 2 issues, i'll look at themNew version released:
- Added support for wring 'Lyrics' tag (requires latest version of MusicBee 2.5, on 2.4 writing to 'Lyrics' tag will be ignored).
http://www.mediafire.com/download/73cuewyrc1p2xfu/mb_TagTools_2014-11-27.zip
This feature never worked. It copies but can't paste, saying the number of tags are different. Apparently it takes the line of lyrics as the number of tags.New version released:
- Added support for wring 'Artwork' tag (only primary artwork is written, requires latest version of MusicBee 2.5, on 2.4 writing to 'Artwork' tag will raise exception).
http://www.mediafire.com/download/em1g6lbh5o6i8x2/mb_TagTools_2014-12-30.zip
This works only when artwork field alone is selected. With any other fields, it doesn't work.
One of the old bugs came back. With ASR presets auto-applied, a play count update by playing a track updates the file's modification date. It doesn't seem to be confined to any specific presets.
Hi I have some tracks were in the title it is listed the featured artist and i want to add him to the artist field, my problem is a complete ignorance of the regex syntax and i noticed a can't modify the similar action meant for the displayed artist tag in order to put the input to title. Hope you can help me and thanks for the great plugin.
Since I use the new release of both MB and ASR the ASR performance is sooooo muuuuuuch sloooooower....i think this is because plugin now updates ui every 5 sec. instead of just at the end of operation. i dont want to change this behavior.
Often it takes 4 seconds per track update, so 50 tracks take more than 3 minutes.
@boroda74cant confirm this. try to reimport all presets.
In the most recent ASR version some bug might have entered. Please check.
In the preset Add up to 2 leading zeros in track numbers I tried to change (example)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
The result shown in the preview is correct (only added an extra zero from 1-9)
But the final result included:
010 011 012 013 014
In earlier versions this was not the case, I used the preset 100's of times.
Please inform when an update is available. Thanks.
- "Extract featuring artists from title..." preset is working fine, but what I meant by "(Guest) Artist" was that it could copy to either Guest Artist or Artist tag. Can you add one more preset that copies to Artist tag?its done
- As you said, mp3 replaygain preset issue remains unresolved.still to do
- Now included presets are almost 90. How about adding a search box to the dialog so that people could easily locate presets they are looking for?
MusicBee v2.4.5404.16303 (Win6.1), 19 Mar 2015 17:34:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AutoRatePlugin.InitializeComponent()
at MusicBeePlugin.AutoRatePlugin..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.autoRateEventHandler(Object sender, EventArgs e)
at #=q9DbaPkf98Bwnsb8WzYcjp0RNJK2ABsR7K3qLJHpRAZU=.#=qZZJUsWw6tR8pvhvDIsy$2g==(ApplicationCommand #=q4OrOPUtIo9ZMXVwHmwTogw==, Object #=qKixOGksuZIqNarZ4TufoBw==)
MusicBee v2.4.5404.16303 (Win6.1), 21 Mar 2015 13:28:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AutoRatePlugin.InitializeComponent()
at MusicBeePlugin.AutoRatePlugin..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.autoRateEventHandler(Object sender, EventArgs e)
at #=qkqD_24K_jqNNsY4ytXfL8gdU4AeJG50yEcwQQ82gVnW0tjNMKqAPXQTcHSTEGGUx.#=q_BllApB1jquyAgblsRWAGQ==(Object #=qHIgSGJS$_ycrUlpxd6kRrg==, EventArgs #=qdjAGRgNuykZe8nBxToZIxg==)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Personally I feel it would be good to be able to see the difference between the default tagging tools, and the additional options that became available when your advanced plugin is installed.Yes!! +1
Therefore I think I would prefer it like this, adding your 'Advanced Tagging Tools' below the default 'Tagging Tools':
You can use the Copy and Paste Tags to/from Clipboard functions to do this
You can also use send to > replace. Just beware that in either method, any tag not configured in MB (ie not displayed in the tag editor) will not be copied.
I'm getting a lot of error on MB 2.5, seem like some object that this plugin need was removed?Make sure the file(s) you're trying to tag are not Read-Only.
MusicBee v2.5.5804.26036 (Win6.3), 7 Jan 2016 2:26:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ObjectDisposedException: Cannot access a disposed object.
@boroda74
In the most recent ASR version some bug might have entered. Please check.
In the preset Add up to 2 leading zeros in track numbers I tried to change (example)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
The result shown in the preview is correct (only added an extra zero from 1-9)
But the final result included:
010 011 012 013 014
In earlier versions this was not the case, I used the preset 100's of times.
Please inform when an update is available. Thanks.
all plugin command windows very long time remembers their sixes and positions (i've just checked this and all is working fine here). may be plugin setting file is read-only? also try to close plugin windows by clicking 'close' button (not 'X' button in window caption).I'm not finding that to be the case. The DLL is not read-only and I click Save and Close to exit.
no, not dll, 'mb_TagTools.Settings.xml' in AppData folder. have just rechecked this issue by clicking 'Save & Close' button (suggest that you mean asr window), for me all is fine. i could give you a debug version later, but first check read-only status of settings file.Sorry about that. No, the .xml is not read-only either.
i'll try to prepare a debug plugin version tomorrow. 1st step of debugging is very easy, but now its too late in moscow.No hurry on my side. Get to it when you have the time available. And thanks.
i've made minor change in plugin, which may help or may not.It certainly did help. The ASR window is now behaving as expected and staying in its assigned position. :-)
also in debug version log dialogs will be popped up every time you open/close any plugin window. install debug version, open asr window, ignore log dialog this time. move asr window, then close asr window, write down 3 numbers from log dialog. open asr again, write down 3 numbers. repeat opening/moving/closing asr window again. post these numbers here if asr window doesn't remember its position.The three numbers were the same when opening or closing multiple times. 991:231:768. The only time the numbers differed was when I tried closing with the exit X (upper right corner) instead of the Save/Close button. These were 616:403:768. But even exiting that way the window position stayed persistent.
@Steven, could you add to api podcast tags (eg episode date)?
let me know if you get it sortedThanks for taking interest in this. So far, my "Remove Track Count" preset removes <Track Count> fine, but having it checked doesn't seem to prevent MB from automatically filling in the field after editing the album. Before doing this I decided to start with a clean slate, so I had mp3tag remove ##/## from <Track> since this format was seen in both mp3tag and MB's tag inspector but not within MB's tag editor (strange). Again, it was a simple regexp search (d+)(\/\d+) and replacing it with \1.
Hey people, I need help. I have some problems with the "Advanced Research and Replace" Function because there are no presets and I don't know how to import them. Also the window don't look really complete. I hope someone can help me.I had this issue too when first running ASR. First things first, check to make sure the preset directory is populated with preset files (*.xml): C:\Users\<username>\AppData\Roaming\MusicBee\ASR Presets. If the directory is populated with files but the presets are not showing, as it did with me, make sure that "use skin colors" is unchecked under ASR's settings (preferences > Plugins > Additional Tagging Tools > configure > Appearance). When I unchecked this option, the presets finally came into view after restarting Musicbee.
Sorry for my probably not perfect english^^
PS: Why is there no function to upload pictures? Or is it my fault?
Thank you, ssri! It worked perfectly. But the window still isn't complete...Please try to describe the window issue and post a screenshot. Also, post a screenshot of your configuration window (settings) for Additional Tagging and Reporting Tools. For screenshots, I go to imgbox.com. Upload the pic as family safe and 350x350 resized (not box!). After uploading the screenshot on imgbox, copy and paste the contents from the BB-Code box here.
4/25/16 10:58:56 PM - 10.0.10586.0 - 3.0.5959.35156 - System.ArgumentException: parsing "phc_(\d{4})(\d{2}){\d{2})_.*" - Too many )'s.
at System.Text.RegularExpressions.RegexParser.ScanRegex()
at System.Text.RegularExpressions.RegexParser.Parse(String re, RegexOptions op)
at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options, TimeSpan matchTimeout, Boolean useCache)
at System.Text.RegularExpressions.Regex.Matches(String input, String pattern, RegexOptions options)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.Replace(String value, String searchedPattern, String replacedPattern, Boolean ignoreCase, Boolean& match)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.SetReplacedTag(String currentFile, Plugin tagToolsPluginParam, AdvancedSearchAndReplacePlugin plugin, Int32 searchedTagId, Int32 replacedTagId, String searchedPattern, String replacedPattern, Boolean ignoreCase, Boolean append, String& searchedTagValue, String& replacedTagValue, String& originalReplacedTagValue)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.GetReplacedTags(String currentFile, Plugin tagToolsPluginParam, AdvancedSearchAndReplacePlugin plugin, Preset presetParam)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.previewChanges()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
@ssriSorry, but I don't see it on my end. I do admit that I see a little bit of the rightside slightly truncated.
The text on the right side ends abruptly. It seems there are a lot of buttons missing. Here is the screenshot:
@boroda74...1. 'asr presets' folder in 'plugins' folder exist only because 'plugins' folder is usually read-only without rights elevation, so it wouldn't be possible for plugin to write new presets to this folder. it is used only for importing new presets and not needed for plugin functionality.
As I'm clearing not-need files/apps from my hard drive, I noticed two ASR Preset sub-directories. One is under AppData and the other is under Plugins. I'd be surprised if ASR needed both, but which is the one that is used? I'd like to delete the other one.
Also, is there a way to send someone a custom preset? I'm specifically thinking about earlier this week where I created a step-by-step for a forum user who was having trouble removing track numbers from the artist tag. It would've been nice if I could've created the preset and sent it to him via PM, email, or even posting in the forum so others could use it. If this 'feature' doesn't exist, it would be nice if you could add it at some point in the future.
Thanks for all the time you've put into this plugin.
I solved the Problem for me.hmmm, good to know. I haven't updated mine for a few months. The version I have installed works fine.
The issue with the window without the Buttons on the right side, is caused by mb_TagTools.resources (C:\Program Files (x86)\MusicBee\Plugins\de).
I have replaced the dll with the Version before the acutal Version and it looks like before and works like before.
It would be useful if a plugin can auto-save MB's xml database file regularly, and when something goes wrong it can assist the user in restoring lost tags. This would allow to import only specific tags from the xml file and thus give more choices to users migrating from other music playersdo you mean that backup file format should be itunes xml format rather than my own format? 'time machine' is a simple task for me, but creating itunes xml parser/writer is not that trivial task. are you sure that its important (not (only) for you, but in general)?
If it uses file path as a track identifier, it won't recognize existing files even with a slight change in auto-organization rule.you are quite right. thank you that you asked this question early. mb supports for hidden custom tag which can store multiple custom ids for various plugins. this tag is used by ipod driver and google play music plugins. this approach reacquires very many workarounds to make sure that ids are generated for all tracks (ids should be somehow generated on 1st run of plugin, plugin can be temporary disabled, so library should be scanned for empty ids on every start, track moved from inbox to library must be intercepted to generate id, etc.), but file paths as ids are unacceptable.
should plugin cache (load to memory) all backups on startup
or only information for this track should be loaded on right-clicking on track?
but what if there are 100's of backups?
Also consider not supporting inbox files for tag history feature as they would increase data to store tremendously but most of those data would be useless because that's what inbox is for. But each back up file should include those.yes, of course. i was planning to make things this way from beginning.
I don't think in general people change tags that quite often.no, the problem is that context menu will contain 'tag history' command and this command must be enabled or disabled depending on is there backup data for this track or not. i.e. even if user uses context menu for other purposes than 'time machine', there can temp ui freezing anyway. though i may not disable 'tag history' command even if there is no data.
I forgot to mention but you probably figured that some people might prefer manual backup only, so auto-backup should be an option.yes, its already an option.
Hello Boroda,the only suggestion i have is you have changed version of preset. try to re-import all presets.
Around a year ago I reported what I think is a bug in the preset to add a leading zero.
It adds zeros in all cases (with results as 013, 021 and also 001, 008) whereas I expect it to add the zero ONLY before ONE single digit: 1 > 01, 2 > 02 etc.
I got the reply that there was no problem.
But whatever I tried since then, I could not get the result I expected.
Any solution?
Thanks!
Wim
I installed "Additional Tagging and Reporting Tools" with the hopes of exporting my 5-Star albums to external file for cataloging. I created the subfolder ASR Presets. It still doesn't show up in Preferences/Plugins.no ideas except for plugin dll may be corrupted. try to re-download plugin zip again.
I installed the plugin directly into the plugins folder without creating the plugin's own folder as per the instructions. This seemed odd, but I did it. Then I created the ASR sub-folder.
Any ideas as to what I may be doing wrong?
Also: after the NEW installation of the NEWEST plugin version, I still see my own personalized ASR screen when I startup MB again, including the presets that I copied/renamed in the past.
Could that be part of the problem?
If it is, then how to I make a completely FRESH plugin installation?
I don't know what else to delete to make a fresh start...
Wim
Also: after the NEW installation of the NEWEST plugin version, I still see my own personalized ASR screen when I startup MB again, including the presets that I copied/renamed in the past.no, this cant be the problem because every asr preset is completely independent xml file. you can delete 'appdata\asr presets' folder as redwing said or you can delete any (your or standard) preset in asr dialog by selecting (NOT ticking!) preset and clicking on 'delete' button.
Could that be part of the problem?
If it is, then how to I make a completely FRESH plugin installation?
I don't know what else to delete to make a fresh start...
Wim
I'm not sure what the preset is intended to do. Its title says "Add up to 2 leading zeros to first digits of <Tag 1>", but its description says "e.g. '1 text' will be replaced with '01 text', '1' is replaced with '01' and 'text' remains unchanged". Was your original intention to convert "1" to "001"?
As to the leading zero's: first 2 tests result: works OK but does not LOOK ok > just a minor detail: you promise FIVE zeros in stead of three... ;-)actually instead of 4 (up to 5 total digits) :-) its corrected for the next plugin update.
The new split preset does not change anything.place it to 'musicbee\plugins' folder and retype needed custom text from scratch. but i'm doubtful that this will help.
PERHAPS the cause of the trouble is the following: the beginning of the splitter text box is invisible (in my view at least) because the preceding label is a bit too long: it covers the first 1 or 2 spaces of the text box.
Please check if this makes sense...
Thanks,
Wim
This is the newly modified * version. It has a strange unknown character as default. What is it and why?its just a slash (partially obscured). i had a computer crash and loosed half of tag tools project (i mean current plugin version which is not released yet). i need to rewrite all missing code, after that i could adjust ui (though i don't have this glitch on my pc).
Does ASR have a preset to remove a desired number of characters from a field, e.g. 'remove the first x characters from the beginning of field 1'?there are 2 'remove leading zeros...' presets, but that's not exactly what you asked. do you want to remove given number of digits or leave given number of digits (removing all before these digits)? digits or zeros?
If not, is there a way to do that?
In the list of presets the text lines are too tight above one another. The result is that the letters like p q h 'loose' their 'stick' which makes reading a little more difficult. Add some space.this list is a native .net control. i'll check its possible configuration, but hardly its possible to extend space between lines. don't want to write my own control for this.
About the lost project, isn't the uploaded old source file (2015-03-22) good enough? Actually I haven't updated the plugin since then, but had no problem so far.uploaded project is the last version before i've started to write backup/restore. but most backup/restore code i've lost.
It works with a simple html and text file, but if I export it as an html document, I get this error (sorry, it's dutch):somewhat old answer, but try to export html document to writable folder, eg. desktop instead of 'program files'.
''MusicBee v3.0.5995.40050 (Win6.1), 10 jul 2016 17:02:
System.IO.DirectoryNotFoundException: Kan een gedeelte van het pad F:\Program Files (x86)\MusicBee\Plugins\Artists.files\t.files\stylesheet.css niet vinden.
bij System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bij System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
bij System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
bij System.IO.FileStream..ctor(String path, FileMode mode)
bij MusicBeePlugin.HtmlDocument.writeHeader()
bij MusicBeePlugin.LibraryReportsPlugin.exportTrackList()
bij MusicBeePlugin.LibraryReportsPlugin.buttonOK_Click(Object sender, EventArgs e)
bij System.Windows.Forms.Control.OnClick(EventArgs e)
bij System.Windows.Forms.Button.OnClick(EventArgs e)
bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bij System.Windows.Forms.Control.WndProc(Message& m)
bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
bij System.Windows.Forms.Button.WndProc(Message& m)
bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)''
The main error means ''Can't find part of path'', and then it can't find stylesheet.css.
Hmm, it appears that "Replace '#/#' with '#' in Track#" does not work. Under preview, Track# and "New Tag Value" appears the same although the latter is in red (I guess to signify changed tags). However, after hitting apply and save all and close, Track# appears to still be in the format "##/##" in the id3 tag frame <TRCK> under mp3tag and tag inspector.download latest presets:
hyno, this field is read-only for any plugin.
thank you for this great plugin, ic have one question:
Is it possible to modify the MB-Database Field "DateAdd" with the Tools?
In the Change Case drop down list I have a multitude of 'smaller' or 'special' words that I want to include or exclude in my options.
My default case format is the Toggle View, but with exceptions.
Since I want to specify those exceptions per language or per 'special category' I made several lines.
Example:
ENGLISH: at am on of for from in it etc...
FRENCH: un une unes le la les etc...
(similar for GERMAN, SPANISH, ITALIAN, DUTCH)
ABBREVIATIONS: 10CC UB40 OMD O.M.D. U.S.A. USA etc.
And now my problem:
(example)
If I add a new word to the ENGLISH list, I suddenly have TWO English lists, with only 1 word as a difference.
How can I avoid that?
I like to have just ONE list/line per language/category.
Thanks,
Wim
i think i'll just add 'remove' button next to exception field, which will remove currently entered in the field word list from exception history (if there is any match in the history), so you can just select not needed exception in the history and immediately remove it.
test presets:Thanks for the presets boroda. Yeas, the track number values are in #/# format. Sadly, it doesn't appear that the updated preset worked where hitting "apply" and then "save all & close" doesn't change the TRCK value like it did before:
http://www.mediafire.com/download/khv0t42am7d2k22/ASR_Presets.rar
unrar them to 'musicbee\plugins' folder and reimport all presets in asr window. also make sure that existing 'track number' values are in '#/#' format (they may be for example in '#-#') format.
(P.S. - I went to the thread under the same name that I used, but there was no box for me to leave a new comment. So I had no choice but to go this route.)
Hi psychoadept?You did something. Like Boroda said reinstall the plugin and if it still fails, try this: http://musicbee.wikia.com/wiki/Additional_Tagging_and_Reporting_Tools#Advanced_Search_and_Replace_presets_are_not_displayed
I managed to fix that problem I had with the "Swapping" function, but guess what?
It seems as soon as I did, something else happened.
I went to the "Advanced Search & Replace" box, and you know where there is the button which asks you if you want to import presets? Well, now IT doesn't work.
I press "Yes" and then get a message that "No presets were imported."
Again, this never happened to me before. It used to load about 82 presets, but now - nothing.
Any ideas at all?
Thank you. :/
Hey all:Try the following below. It will result in <Comment> foo > <Comment> foo Mix 1
I've searched this thread and didn't find an answer to this question, but if I missed something and this question is redundant, please let me know.
My question is: is there a way to append a text phrase to the "comments" field? It seems like the "copy tag" tool can append data, but I don't want to copy a tag. I want to, for example, append the text "Mix 1" to all the files I have selected, and I'd like to do so without having to first tag them somewhere as "Mix 1".
Thanks!
x
\Z
Mix 1
Hey Boroda,its not very straightforward, but i think, yes, its possible. i'll try to experiment first.
Is it possible to assign a preset to a hotkey?
Hey all:Try the following below. It will result in <Comment> foo > <Comment> foo Mix 1
I've searched this thread and didn't find an answer to this question, but if I missed something and this question is redundant, please let me know.
My question is: is there a way to append a text phrase to the "comments" field? It seems like the "copy tag" tool can append data, but I don't want to copy a tag. I want to, for example, append the text "Mix 1" to all the files I have selected, and I'd like to do so without having to first tag them somewhere as "Mix 1".
Thanks!
x
It will even work in <Comment> with multiple lines, i.e.
foo 1 foo 1
foo 2 > foo 2
foo 3 foo 3 Mix 1
1) Create new Preset (add name and description)
2) Under the preset editor, for "Step 1"
Search for:CodeReplace with:\Z
Code: "notice the space at the beginning"3) Set the tags to <Comment>Mix 1
4) Press OK
5) Go back to MB and select a few files you want to edit
6) Select the new present
7) Preview
8) Apply and check tags
9) If happy, save all & close
NOTA BENE: Do not check the preset because if you do, it will run the preset on every file you select. So, leave it unchecked.
(http://6.t.imgbox.com/cegHRMX6.jpg) (http://imgbox.com/cegHRMX6)
I'm glad to hear that it works. Sorry about the screenshot. I just realized that the entry " foo" under Replace with: should have been " Mix 1". I'm glad that it didn't throw you off.Try the following below. It will result in <Comment> foo > <Comment> foo Mix 1
It will even work in <Comment> with multiple lines
THANKS!!! ssri -- that works perfectly!
Hey Boroda,
Is it possible to assign a preset to a hotkey?
I miss that ability in Mediamonkey's add-on "RegExp Find and Replace"
For example, I have it in Mediamonkey where if I want to label a track from the 80s by adding\appending "80s" to a custom tag field, I press CTRL+ALT+8 (a hotkey I assigned to that particular preset).
you are using some beta version. its temporary intentional behavior (visual studio doesn't allow to use visual form editor if i turn on remembering window sizes/positions). redownload plugin from official link or try this beta:Thanks. Tried this beta, and the one from today 2016-09-29. While both do what I wanted - persistent window location - they both also throw this error when I right-click on a track and select Additional Tagging Tools > Change Case > Close. All of the other Additional Tagging Tools in that dialog close properly. And all but 'change case' close properly if I open it from the Tools menu. It's only the 'change case' option that throws the error.
http://www.mediafire.com/file/c139z836cud2c4u/mb_TagTools_2016-09-20-beta.zip
don't try to use backup/restore part of beta, its not completed yet!
MusicBee v3.0.6114.37635 (Win6.1), 29 Sep 2016 15:14:
System.ArgumentNullException: Value cannot be null.
Parameter name: dest
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.ArrayList.CopyTo(Array array, Int32 arrayIndex)
at MusicBeePlugin.ChangeCasePlugin.buttonCancel_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
new version. it seems to be stable. at least working fine for me.
http://www.mediafire.com/file/6k7o89xkbvmu5ae/mb_TagTools_2016-09-29-beta.zip
this bug is fixed, but you probably will need to delete mb_tagtools.settings.xml in <appdata> folder anyway.Confirmed as fixed. Thanks very much.
http://www.mediafire.com/file/7nidu1z81crt8so/mb_TagTools_2016-09-30.zip
- When running "Backup tags for all tracks" command, why is it trying to create backup files in playlists folder with a strange filename starting with the first playlist in there instead of in AppData\Tag Backups folder?
- Can you display progress status while creating a backup?i think, yes, but not sure if its easy to implement.
<beginning of path>\MusicBee\<library name>\Playlists\<the rest of path>
yes, i think this behavior should be optional and less "aggressive". also reread my previous post, i've edited it.<beginning of path>\MusicBee\<library name>\Playlists\<the rest of path>
The problem was "\MusicBee\". When I change the folder name for my portable MB, it saves it properly.
People use all kinds of different folder name. How about just taking a parent folder of "\Playlists\"?
could you give me an example of this strange backup path?
10.0.14393.0 - 3.0.6118.33091 - System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at MusicBeePlugin.TagHistoryPlugin..ctor(Plugin tagToolsPluginParam, String[] trackUrlsParam, String[] trackIdsParam)
at MusicBeePlugin.Plugin.tagHistoryEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I've installed another portable MB for test, but it gives the following error for "Track Tag history" command. Strangely the command is working fine in another MB. Both are with the latest patch and plugin.it seems that there is no 'missing artwork.png' file in 'plugins' folder.
it seems that there is no 'missing artwork.png' file in 'plugins' folder.
- If there were changes, show those tags and values only on the popup window upon clicking on the command.
(http://i.imgur.com/Afutxl3.png)
the ".Master Tag Index.mbi" is just a master index file, it must not be very big anyway.
changed tags are highlighted by blue-grey color (except for artworks).- If there were changes, show those tags and values only on the popup window upon clicking on the command.
(http://i.imgur.com/Afutxl3.png)
This is what I suggested. But currently it shows all tags, not just changed tags. Then the user has to read all tags to find out what's changed.
master index contains all track ids for every backup, so plugin can quickly find all backups witch have some data for given track. master index is used only by 'tag history' command. its safe to delete this file if you are not going to use this command.the ".Master Tag Index.mbi" is just a master index file, it must not be very big anyway.
I am still concerned about the file's size which keeps growing whenever a backup is made even without any changes from the previous backup. Why does it keep growing without any changes in the library?
10.0.14393.0 - 3.0.6118.39208 - System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBeePlugin.BackupIndexDictionary.loadBackupAsync(Object parameters)
at MusicBee.Plugin.#=qq8unhGCJB9SClRVZR5gNmygFqueSbCHuuBEa3Z$$56c=(Object #=q3lUtIUSd9g6WUEwABBRV_w==)
changed tags are highlighted by blue-grey color (except for artworks).- If there were changes, show those tags and values only on the popup window upon clicking on the command.
(http://i.imgur.com/Afutxl3.png)
This is what I suggested. But currently it shows all tags, not just changed tags. Then the user has to read all tags to find out what's changed.
master index will be reduced if you (auto)delete old backups.
new plugin version is available:Maybe I'm using the new 'backup & restore' function incorrectly but it doesn't do what I'm expecting it to.
http://www.mediafire.com/file/61lk6be8a7ck25k/mb_TagTools_2016-10-02.zip
- New "Backup & Restore" functionality is added.
10/2/2016 6:38:09 PM - 6.1.7601.65536 - 3.0.6118.39208 - System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBeePlugin.BackupIndexDictionary.loadBackupAsync(Object parameters)
at MusicBee.Plugin.#=qq8unhGCJB9SClRVZR5gNmygFqueSbCHuuBEa3Z$$56c=(Object #=q3lUtIUSd9g6WUEwABBRV_w==)
10/2/2016 6:40:28 PM - 6.1.7601.65536 - 3.0.6118.39208 - System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBeePlugin.BackupIndexDictionary.loadBackupAsync(Object parameters)
at MusicBee.Plugin.#=qq8unhGCJB9SClRVZR5gNmygFqueSbCHuuBEa3Z$$56c=(Object #=q3lUtIUSd9g6WUEwABBRV_w==)
Does "Restore tags for all tracks" or "Restore tags for selected tracks" work for you? I always get this error:its fixed.
OK. Then how about showing backup files from newer to older order since "library" (current) is placed leftmost?i'm really surprised that it doesn't work this way already. its fixed also.
It just stays with the same (biggest) size even if all backups are deleted.i'll recheck this.
Preferences/Plugin/configure setting doesn't change menu location. It always revert back to the first option.its fixed.
"Copy tags to clipboard" command window now contains virtual tags and file properties as well. Can you remove them?yes, that's why i've added read-only (in mb) tags to this command.
Edit: Never mind. I can see that could be useful just for exporting those values without pasting to another file. Even if they are selected, they won't be pasted to other files, right?
Maybe I'm using the new 'backup & restore' function incorrectly but it doesn't do what I'm expecting it to.its fixed.
Using today's plugin .dll and MB 3.0.6118 I performed a backup of all tracks. I then went to one track and deleted the comments. Then I used the 'restore tags for selected tracks' option and an error was thrown. I manually restored the comments and deleted the album name and again tried to restore. And again an error was thrown.
- What's the purpose of "Rename or move backups" command? Would it be a good idea to allow the user to move "some" backup files to different folders? Then master index file stays in the same location? Also there's "Move backups" command which overlaps with the previous command.1st command allows to -rename- (or move) single backup, 2nd allows to -move- multiple backups. yes, there is some overlapping, but i can't find better solution. master index file is always stored in autobackup directory.
- Noticed "Restore tags for all tracks" command rewrites every file in the library, taking lots of time. Would it be possible for it to rewrite only files with changed tags?i'm not sure if reading existing tags and comparing them to backuped tags will be faster than just overwriting all tags, i need to experiment first.
- Noticed "Restore tags for all tracks" command rewrites every file in the library, taking lots of time. Would it be possible for it to rewrite only files with changed tags?i'm not sure if reading existing tags and comparing them to backuped tags will be faster than just overwriting all tags, i need to experiment first.
"Copy tags to clipboard" command window now contains virtual tags and file properties as well. Can you remove them?yes, that's why i've added read-only (in mb) tags to this command.
Edit: Never mind. I can see that could be useful just for exporting those values without pasting to another file. Even if they are selected, they won't be pasted to other files, right?
yes, you are right. its fixed now.master index will be reduced if you (auto)delete old backups.
It just stays with the same (biggest) size even if all backups are deleted.
- Noticed "Restore tags for all tracks" command rewrites every file in the library, taking lots of time. Would it be possible for it to rewrite only files with changed tags?its done.
MusicBee v3.0.6119.39237 (Win6.1), 3 Oct 2016 16:48:
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at MusicBeePlugin.TagHistoryPlugin..ctor(Plugin tagToolsPluginParam, String[] trackUrlsParam, String[] trackIdsParam)
at MusicBeePlugin.Plugin.tagHistoryEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
- Which files are covered by tag backup feature? Of course all files in the music library. What about files in other nodes (audiobooks, videos, podcasts, inbox)?all files except for those in inbox.
- I'm gonna test auto-organization rule changes and "remap music folder" to a different drive to see if it can restore previous backups before re-organization. Any things I should know before?i think, nothing special.
boroda74 I greet!plugin is using generic api call to read/write tags. i don't have any cue file. can you edit its tags in mb tag editor?
"Backup & Restore" does not work with ".cue" files!(?)
But the tag selection window now looks too complicated. How about sorting tags grouped by its kind?though not what you have asked, but i've added 10 tag sets to this command. hope it can be used more easily now:
<Standard tags>
Album
Artist
...
<Custom tags>
Custom1
Custom2
...
<Virtual tags>
Virtual1
Virtual2
...
<File properties>
Bitrate
...
Also allow to tick not just each tag but each kind to multi-select all tags belonging to the ticked kind.
Second is when I select a track and right-click > Advanced Tagging Tools > Track tag history, this error gets thrown:suggest that you haven't unzipped 'missing artwork.png' to 'plugins' folder.CodeMusicBee v3.0.6119.39237 (Win6.1), 3 Oct 2016 16:48:
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at MusicBeePlugin.TagHistoryPlugin..ctor(Plugin tagToolsPluginParam, String[] trackUrlsParam, String[] trackIdsParam)
at MusicBeePlugin.Plugin.tagHistoryEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
@boroda74-i don't have any problems with restoring. try to close mb, the delete 'mb_tagtools.settings.xml' file and 'tag backups' folder in <appdata> folder.
I've still experiencing trouble with the tag backup option. This is with the 2016-10-03-3 version.
First thing is that after creating a backup and attempting to restore the tags of one track, I get a "Tag Backup 2016-10-03 x.x.x is corrupted or is not a valid MusicBee backup" error. I have created the backup three times today and each resulted in the same error when I try to restore.
can you edit its tags in mb tag editor?Yes, it's ratings, and they are stored in the database only MB. Tags "Play count" also do not work.
- I'm gonna test auto-organization rule changes and "remap music folder" to a different drive to see if it can restore previous backups before re-organization. Any things I should know before?i think, nothing special.
- now autobackups will be skipped if no changes in tags and/or library content were made since last manual or auto backup.
But the tag selection window now looks too complicated. How about sorting tags grouped by its kind?though not what you have asked, but i've added 10 tag sets to this command. hope it can be used more easily now:
<Standard tags>
Album
Artist
...
<Custom tags>
Custom1
Custom2
...
<Virtual tags>
Virtual1
Virtual2
...
<File properties>
Bitrate
...
Also allow to tick not just each tag but each kind to multi-select all tags belonging to the ticked kind.
I have removed mb_tagtools.setting.xml along wtih the tag backups folder. I then installed TagTools 2016-10-04 and ran 'backup tags for all tracks.' When I try to restore tags to one track either via the ToolBar drop-down or a right-click on track tag history, I still get the corrupted xml error message.@boroda74-i don't have any problems with restoring. try to close mb, the delete 'mb_tagtools.settings.xml' file and 'tag backups' folder in <appdata> folder.
I've still experiencing trouble with the tag backup option. This is with the 2016-10-03-3 version.
First thing is that after creating a backup and attempting to restore the tags of one track, I get a "Tag Backup 2016-10-03 x.x.x is corrupted or is not a valid MusicBee backup" error. I have created the backup three times today and each resulted in the same error when I try to restore.
But I'd still insist on grouping tags per kind since many users won't know which ones are tags or properties and I am confused too at which tag is standard, custom or virtual tag with all customized names. Also please make virtual tags and file properties unselected by default for copy tags to clipboard window.i think this approach is sufficient:
phred, can you post the link to this backup (note that backup consists of 2 files: .xml and .mbc)?boroda74 -PM sent with link.
mb_TagTools_2016-10-05-2.zipUnable to initialise this plugin:
There's a newer version available. Check the Additional Tagging Tools thread in the Plugins forummb_TagTools_2016-10-05-3.zip
its because you have very strange characters (which are not allowed for xml) in some tags. try this plugin version, it will display some additional info about xml parsing errors (line number and problem char position in line):I think it's time for me to stop trying to use the Tag Backup feature of the Advanced Tagging Tools plugin.
http://www.mediafire.com/file/ekct1t8ss36fp29/mb_TagTools_2016-10-05-3.zip
you will need some powerful text editor (eg. notepad++) to find these problem chars because your backup file is very large. you can delete these strange chars in text editor, then import tags back to mb.
I think it's time for me to stop trying to use the Tag Backup feature of the Advanced Tagging Tools plugin.its up to you, but could you try this version (this version tries to escape all illegal xml chars, its very funny that standard .net xml serializer/deserializer can write files, which it cant read)?
I do have one other question regarding the ASR Presets - I extracted the zip file to my Plugins folder. The result was the four language folders and the ASR Presets folder, along with the png and dll. But after enabling and configuring the plugin, there's now a second ASR Presents folder in my AppData folder. Should there be two? And if not, which one should be deleted?its because installation instructions to copy 'asr presets' folder to <appdata> folder would be too complicated. 'asr presets' folder in 'plugins' folder is used only for importing presets and is not needed for plugin functionality.
To be honest, I'd rather have it working, but not at the expense of trying to edit that character out of all my tracks. As for .net writing but not reading I consider that Microsoft being Microsoft. :-)I think it's time for me to stop trying to use the Tag Backup feature of the Advanced Tagging Tools plugin.its up to you, but could you try this version (this version tries to escape all illegal xml chars, its very funny that standard .net xml serializer/deserializer can write files, which it cant read)?
http://www.mediafire.com/file/lwm2u2b6ldum6nq/mb_TagTools_2016-10-06.zipI'll test today's version in a couple of hours and report back.
I do have one other question regarding the ASR Presets - I extracted the zip file to my Plugins folder. The result was the four language folders and the ASR Presets folder, along with the png and dll. But after enabling and configuring the plugin, there's now a second ASR Presents folder in my AppData folder. Should there be two? And if not, which one should be deleted?its because installation instructions to copy 'asr presets' folder to <appdata> folder would be too complicated. 'asr presets' folder in 'plugins' folder is used only for importing presets and is not needed for plugin functionality.
nothing was changed significantly. try to close mb and delete <appdata>\mb_tagtools.settings.xml
one baseline backup for every library and further incremental backups
PROGRESS!!! But still not working as I expected it to. Full backup of all track tags was completed. And I can restore without getting the 'corrupted xml' error message. The size of yesterday's baseline was about 60mb and today's is about 90mb. I looked at the baseline file with Notepad++ and see why the increase in file size. Lots of data between each word in the lyrics and in other places. But I assume this is due to the change you made to have it ignore the characters previously written that caused it to be corrupt.I think it's time for me to stop trying to use the Tag Backup feature of the Advanced Tagging Tools plugin.its up to you, but could you try this version (this version tries to escape all illegal xml chars, its very funny that standard .net xml serializer/deserializer can write files, which it cant read)?
http://www.mediafire.com/file/lwm2u2b6ldum6nq/mb_TagTools_2016-10-06.zip
But still not working as I expected it to. Full backup of all track tags was completed. And I can restore without getting the 'corrupted xml' error message. The size of yesterday's baseline was about 60mb and today's is about 90mb. I looked at the baseline file with Notepad++ and see why the increase in file size. Lots of data between each word in the lyrics and in other places. But I assume this is due to the change you made to have it ignore the characters previously written that caused it to be corrupt.i'm not sure what i can do with it. trying to escape all illegal xml chars manually would be too complicated and using standard "escaper" produces very long strings,
i'm not sure what i can do with it. trying to escape all illegal xml chars manually would be too complicated and using standard "escaper" produces very long strings,That's fine. I can live with the file that way it's being generated now. Hell, drive space is fairly cheap these days. :-)
After the manual (full) backup was complete I set the auto-backup to run every thirty minutes. It runs, and the status bar shows that it completed, but I can't find the new backup even though it's set to go in the same directory as the first one. I believe this is what redwing is referring to in his first item in this thread: http://getmusicbee.com/forum/index.php?topic=18426.msg118558#msg118558It's these items I'm still concerned about. Especially the auto-backup seemingly running, but not being saved anyplace.
I also experienced the second item he mentioned - seemingly stuck at 99% during the auto-backup. But not during the initial one. I also confirm redwing's third item, but I attribute that to the 18,000+ tracks I have.
I set the auto-backup to run every thirty minutes. It runs, and the status bar shows that it completed, but I can't find the new backup even though it's set to go in the same directory as the first one.
18,000+ tracks I have.
I set the auto-backup to run every thirty minutes. It runs, and the status bar shows that it completed, but I can't find the new backup even though it's set to go in the same directory as the first one.
Did you make any tag changes after the initial backup? If not, it cancels writing a backup after comparing tags.
Yes, it takes between 30-45 minutes, so that's within your parameter.18,000+ tracks I have.
For my test with 400 tracks, it takes 40 secs (mostly for comparing tags at 99%) to create a backup. Does it take 30 minutes for you as you have 45 times more tracks than my test library?
Well, I'm not so sure about this. I enabled the auto-backup to run every 30 minutes. I deleted the comments from one track. More than two hours later and there is no new file in the Tag Backups directory. So I'm not convinced the auto-backup is working.I set the auto-backup to run every thirty minutes. It runs, and the status bar shows that it completed, but I can't find the new backup even though it's set to go in the same directory as the first one.
Did you make any tag changes after the initial backup? If not, it cancels writing a backup after comparing tags.
10/9/2016 11:06:21 AM - 6.1.7601.65536 - 3.0.6125.34367 - System.ArgumentException: Controls created on one thread cannot be parented to a control on a different thread.
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Form.ControlCollection.Add(Control value)
at #=qBOEK$ER4a7TnOPwZ103epIzRNWPxfx0GK6J4iWlfi98=.#=qzSaq0kRSdQoKZJeJKYt_4CFft_Wob2CaK3xacXyUjUI=(Int32 #=q3Xw_NdCitgt0Mge4rCimGw==, Boolean #=q33kiPxCuE4eiZw3OtQR74iEulWCC72rpIZ5b$$ub$qI=)
at #=qBOEK$ER4a7TnOPwZ103epIzRNWPxfx0GK6J4iWlfi98=.#=qjZG6tKHp0Ergv$9dL8N5zmrzQWmurqaC2Fp6i3JThS0=(Size #=qgIKj3zaEwqigJfU01kP2QQ==)
at #=qBOEK$ER4a7TnOPwZ103epIzRNWPxfx0GK6J4iWlfi98=.#=qBBBaYGkNZHZSzFClXkskJQ1xw0gJNfe7YhU$t29uFjg=(Int32 #=qCs5O3$8qTUQyfQeo0ZPCcQ==)
at #=qT9pBK1lHIOFwzvZ5WIEjd9FphSqYiTCOzj5Tun6CFtg=.#=qqoXcZu8U7GAyGFW2H4rMWS36zA1HuUvszzSxHJ2cf$s=()
at #=qT9pBK1lHIOFwzvZ5WIEjd9FphSqYiTCOzj5Tun6CFtg=.#=qkbLE$1YlMTNfoiT9dWv1sg==(IList`1 #=qQ_6ajPRqisg15ZNLLI0COg==, TagCode #=qcnvAr5ZTXGdrdgtHoEy4DQ==)
at MusicBee.MusicBeeMain.#=qnlPP3KiEfK9IuUYasSISEw==(IList`1 #=qiFPjpRe6xxZcV58gGBquYg==, TagCode #=q6sl_tjMRXPQnHMN0bssjnw==, Boolean #=qfuwQc8Toe6LqIbmt9vul413FpyaMoZkCddLrgthbAMY=)
at MusicBee.MusicBeeApplication.#=qGBsEqXZfXCfWdJei8AXviKOHHEpsD6sL7gMx3TVQFro=(IList`1 #=q4TxsSZ6J31JybnmsqeJrIA==, TagCode #=qrsTQtuU8N_zRSyC6FmAuYQ==, Boolean #=qdVzured5vCIVI5jgnZoB4JI2gwLlRUFOXKlaV_4algk=)
at MusicBee.Plugin.#=qQrlAaJdWaDx8TDwyNIBvsrqg0iixll$vwMSgOWiPas8=()
at MusicBeePlugin.Plugin.RefreshPanels(Boolean immediateRefresh)
at MusicBeePlugin.Plugin.CommitTagsToFile(String sourceFileUrl, Boolean ignoreTagsChanged, Boolean updateOnlyChangedTags)
at MusicBeePlugin.BackupIndexDictionary.loadBackup(String backupName, String statusbarText, Boolean restoreForEntireLibrary)
at MusicBeePlugin.BackupIndexDictionary.loadBackupAsync(Object parameters)
at MusicBee.Plugin.#=q5UOfiqI70ZvTPMz0$OWc_84YhXktRdorwAG5039v1G8=(Object #=qLChswvFgx8WMuu4zMIToWg==)
Yes, it takes between 30-45 minutes, so that's within your parameter.
I enabled the auto-backup to run every 30 minutes.
So even with only one backup set, I selected 'restore tags for selected tracks' and while the comments were indeed restored to the track, MB threw this error:thats something i will need to fix on the MB side
Doesn't work for me either. When trying to enable it, keep getting this message:its fixed for the next update.
(http://i.imgur.com/aJ5p6fo.png)
- Track tag history is not working. It shows current tags only without showing any tags from the backup files.its fixed also for next update
- When creating a backup, it always pause at "99%" for a long time. First I thought it crashed but it finally worked. So probably it was comparing tags to write changed tags only. How about changing the message not to give a false impression?yes, its comparing tags. i'll try to write some text about this in statusbar.
- Restoring worked fine. But it was much slower than before. Hope you could speed up the backup and restore process.cant think how to speed up saving, but restoring might work faster for large libraries (> 100-200 tracks) now.
After the manual (full) backup was complete I set the auto-backup to run every thirty minutes. It runs, and the status bar shows that it completed, but I can't find the new backup even though it's set to go in the same directory as the first one. I believe this is what redwing is referring to in his first item in this thread: http://getmusicbee.com/forum/index.php?topic=18426.msg118558#msg118558autobackups will be skipped if there are no changes in library tags or content since last auto- or manual-backup.
Maybe the plugin could offer two options so that users could test and choose one that's working better for them.its possible, but 1st i'll try to optimize performance. unfortunately i can test on large library only saving backups and restoring only on small test library. i hope performance can enhanced. as for cpu usage, background task should be launched at lowest priority (so use only free resources), so could you confirm that high cpu usage is the real problem for you?
None of the options show up in the Tagging menu and the settings do not appear in the Plugins area of Preferences.
And once you've confirmed the dll is in the Plugins folder, exit MB and restart it. Then go to Plugins preferences and enable the ATRT plugin. (You may have to exit and restart after enabling also - I can't remember.) Only then will it show up under Tools > Additional Tagging ToolsNone of the options show up in the Tagging menu and the settings do not appear in the Plugins area of Preferences.
Make sure you have copied mb_TagTools.dll file under Plugins folder.
Make sure you have copied mb_TagTools.dll file under Plugins folder.
@boroda74- what about Steven's suggestion for a possible speed up? http://getmusicbee.com/forum/index.php?topic=3833.msg118611#msg118611that comment was mostly for the issues around saving and retrieving non-xml compliant tag data. The speed improvement wouldnt be much.
phred, i'm just forgetting to uncomment this part of code (which remembers window sizes/positions). this definitely will be fixed in final version.Great - thanks.
redwing, what do you think about this version?:
Great improvement!Hmmm ... I guess this is a case of 'different strokes for different folks.' Testing a full backup on my 18,000+ tracks took almost one hour and 15 minutes. About 30 minutes longer than the previous version.
Now creating a backup of 400 tracks takes about 7-8 secs. And tag history command works very fast. Restoring tags is a lot faster than backing up.
What's changed? Any downsides compared to the previous versions?
no, i just haven't been sure if new solution is acceptable. actually i was going to write backup/restore this way initially, but had thought that source code would be too complicated. in fact new code is more compact, more efficient and more readable than previous one.redwing, what do you think about this version?:
Great improvement!
Now creating a backup of 400 tracks takes about 7-8 secs. And tag history command works very fast. Restoring tags is a lot faster than backing up.
What's changed? Any downsides compared to the previous versions?
Hmmm ... I guess this is a case of 'different strokes for different folks.' Testing a full backup on my 18,000+ tracks took almost one hour and 15 minutes. About 30 minutes longer than the previous version.phred, i think you write about initial (first, baseline) backup. what about further (incremental) backups?
10.0.14393.0 - 3.0.6130.40302 - System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.TagHistoryPlugin.fillTable(String folder, Boolean includeSubfolders, Int32 maxBackupCount, Int32 trackIndex, Boolean reuseCache)
at MusicBeePlugin.TagHistoryPlugin.rereadButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Testing a full backup on my 18,000+ tracks took almost one hour and 15 minutes. About 30 minutes longer than the previous version.
I had deleted the backups folder before trying a full backup today, but not the settings file. So now I've deleted them both and started another full tag backup. Will report back later today.Testing a full backup on my 18,000+ tracks took almost one hour and 15 minutes. About 30 minutes longer than the previous version.
Try again after completely deleting tag backups folder and the plugin's settings file in appdata folder.
Full tag backup took just under 50 minutes. So that's much better than earlier today. Only thing that I changed was the deletion of the settings file.I had deleted the backups folder before trying a full backup today, but not the settings file. So now I've deleted them both and started another full tag backup. Will report back later today.Testing a full backup on my 18,000+ tracks took almost one hour and 15 minutes. About 30 minutes longer than the previous version.
Try again after completely deleting tag backups folder and the plugin's settings file in appdata folder.
10/16/2016 6:03:56 PM - 6.1.7601.65536 - 3.0.6130.40302 - System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.Plugin.regularAutobackup(Object state)
at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
at System.Threading.TimerQueue.AppDomainTimerCallback()
I have autobackup set for 90 minutes. I have changed some tags after the full back and before the autobackup. This error is being thrownNew tracks and new tags have been added since the last (only) full backup. Auto-backups do not run. Or if they do, nothing has changed in the Tag Backups folder. The error above seems to happen when the plugin is attempting to run the auto-backup.Code10/16/2016 6:03:56 PM - 6.1.7601.65536 - 3.0.6130.40302 - System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.Plugin.regularAutobackup(Object state)
at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
at System.Threading.TimerQueue.AppDomainTimerCallback()
MusicBee v3.0.6135.34867 (Win6.1), 18 Oct 2016 21:35:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.TagHistoryPlugin.fillTable(String folder, Boolean includeSubfolders, Int32 maxBackupCount, Int32 trackIndex, Boolean reuseCache)
at MusicBeePlugin.TagHistoryPlugin.TagHistoryPlugin_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
phred, auto- or manual-backup won't be actually started until any previous backup is completed, but should see some info in statusbar about backup in progress.Yes, I understand that. If a full backup takes about 60 minutes, and I have auto-backup set for 90, there shouldn't be an issue, correct? And if I change tags, or add new tagged tracks, and leave MB open, auto-backup should run. I have seen an indication of auto-backup running in the statusbar, but when complete there's no new file and checking the error log shows the first of the two errors I posted yesterday.
hope this error with null reference is fixed now. also 1 new option for backup settings and backups must be smaller now (maybe even faster, not sure).Great! Downloaded and installed. Will be starting backup shortly and will report back later today.
http://www.mediafire.com/file/darerwuapbiwbfm/mb_TagTools_2016-10-19.zip
forgot to mention: new version is not compatible with old backups.Good to know, but I always remove previous backups (and settings) with each new version you issue.
hope this error with null reference is fixed now. also 1 new option for backup settings and backups must be smaller now (maybe even faster, not sure).Encouraging results! Previously just over 18,000 tracks took just over 60 minutes for the initial backup. Now, with just over 19,000 tracks the initial backup took just under 50 minutes. IIRC, the previous full backup (18k+ tracks) was over 200mb in size which this new one is 128mb. Also, selecting a track and evoking the 'tag history' not only doesn't throw an error, but it completes very quickly.
phred, just a note: all backup files can be very efficiently compressed by ntfs (up to 4 times in my case), but i'm not sure about cpu usage and backup/restore speed for large libraries.I'm not really concerned with file size as I've got many TBs of space. I brought it up because you stated file sizes will be smaller, so I was confirming. :-)
new plugin version 4.18 (2016-10-19-2). i've added new command 'create new baseline of current library'. there will be info/warning window displayed. also window sizes/positions remembering is turned on now again.All sounds good. Thanks for adding this feature to what I think is the most downloaded plugin for MB.
changed tags are highlighted by blue-grey color (except for artworks).- If there were changes, show those tags and values only on the popup window upon clicking on the command.
(http://i.imgur.com/Afutxl3.png)
This is what I suggested. But currently it shows all tags, not just changed tags. Then the user has to read all tags to find out what's changed.
Just tested the first version with a 12,000 tracks library again. Backup time and CPU usage were almost the same as the previous version - the initial backup took 5 mins and each incremental backup (either manual or auto) took 12 mins (5 mins for writing + 7 mins for comparing). CPU usage was always 7 to 8%, never exceeding 9%.i'm afraid i can't optimize speed more.
The problem is tag history command. It no longer throws the error, but it doesn't work smoothly. It takes noticeably longer time to load whenever a backup is added, and consumes CPU over 30% percent. Only with three backups, it takes 6-7 secs to load and the app window looks almost not responding during that time. Not sure it could handle more than 10 backups reliably.
Still I think it would be much useful if the tag history table shows only backups with any changed tags (instead of all backups) and changed tags only (instead of all tags). The more backups you have, the harder it gets to browse what tags have changed.i think its not too difficult. maybe in a couple of days.
new version:@boroda74- you're linking to one of your other plugins.
http://www.mediafire.com/file/5rx4f21zcp1wk7n/mb_NowPlayingToExternalFiles_2015-09-06.zip
various bugfixes:Does this new version take care of this error?
http://www.mediafire.com/file/rc6lyaay185dc05/mb_TagTools_2016-11-05.zip
MusicBee v3.1.6152.39912 (Win6.1), 5 Nov 2016 8:13:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
at MusicBeePlugin.TagHistoryPlugin.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Does this new version take care of this error?suggest, yes.
I also couldn't create a new baseline.i need more info: is there some error dialog box?
I can't give you any dialog from when I originally posted that since I've removed all backups, along with the settings file while waiting for a possible fix. I've now started a full backup and when that's done, will try to create a new baseline.I also couldn't create a new baseline.i need more info: is there some error dialog box?
phred, thanks, don't forget to report bug if it reappears.@boroda74- I'm very encouraged by the latest build! The initial full backup took -much- less time than any full backup previous to this build. 19,000+ tracks in about 30 minutes. Maybe less because I wasn't expecting it to be so much faster I left it and came back 30 minutes later and it was done. Also the restore tags for selected tracks is also much faster. The only thing left for me to test is to create a new baseline. Which I'll get to sometime today and only report back if there's any error. Thanks!
thanks for testing, phred.Thanks for developing! And by the way, I ran a new baseline last night and no issues.
MusicBee v3.1.6158.36927 (Win6.1), 10 Nov 2016 21:17:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
at MusicBeePlugin.TagHistoryPlugin.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
No differences in incremental backup, but initial backup takes longer time (from 6 min to 10 min).I agree - the initial backup using 2016-11-13-4 is substantially slower than 2016-11-11. I'm now at 54% of my 19,000+ tracks and it has taken 35 minutes. That projects out to almost an hour. With the 11-11 build the entire backup took no more than half an hour.
what about this version?Better. 19k+ took just under 40 minutes. I can live with that.
http://www.mediafire.com/file/nb4j4fs381mm5ir/mb_TagTools_2016-11-13-5.zip
yes, phred, please.Done. :)
phred, please compare timings of baseline backup and 2 subsequent incremental backups of 11-13-5 version and these 2 versions for your library (for inc. backups the number of changed tracks should be large enough (~500-1000), i want to choose more fast version:Happy to help out, boroda74. I should have some info for you around the middle of the week.
The Plugin Discussion topic had the proposals of two plugins and the discussion about the other one didn't even start. Also now I have to go through more than 80 pages of the merged thread to find out previous discussion of these features.If the the discussion of the other proposal hasn't even started, then it's simply a matter of copying and pasting it into a new thread. It took me about three minutes to find your initial post on page 72 http://getmusicbee.com/forum/index.php?topic=3833.msg111090#msg111090
phred, forgot to mention: of course you can recopy only 1 file from 3 zip's - mb_TagTools.dll, no need to extract all files from zip.No problem. That's what I've been doing.
I posted my questions and bugs in the ATRT thread because that's where the discussion should've been to being with.
Now I feel like I must thank you for not having merged the wrong topic until yesterday with your great patience.You yourself admitted that you proposed -two- suggestions in your initial post and that the other suggestion hadn't even started being discussed. That being the case, just start a new thread, as I suggested earlier, by copying the other suggestion into the new initial post. But rather than doing that simple task, you'd rather rant about my "mentality" and not "caring."
phred, please compare timings of baseline backup and 2 subsequent incremental backups of 11-13-5 version and these 2 versions for your library (for inc. backups the number of changed tracks should be large enough (~500-1000), i want to choose more fast version:Here are the results of my testing...
@redwing, mb api doesn't allow such kind of things, thought i really can do some characters substitutions only in tags. also unicode can contain above 1,000,000 characters and i even don't know the number of punctuation chars in the latest version of unicode. i don't think this can usefully implemented in plugin.
redwing, frankcreed, i will look at your ideas later, i'm ill now and wont to spent tool much time on programming.
No rush, but when you feel up to it... I find it WAY too easy to accidentally apply presets on a permanent basis. Could there maybe be a confirmation, or even a complete separate screen for applying presets that should be "always on" instead of just loaded for single use/editing?+1
No rush, but when you feel up to it... I find it WAY too easy to accidentally apply presets on a permanent basis. Could there maybe be a confirmation, or even a complete separate screen for applying presets that should be "always on" instead of just loaded for single use/editing?do you mean confirmation before auto-applying presets? if so its very easy to do, but for all auto-applying presets.
Converting only 68 characters would be more than enough. Look at the linked Picard code from line 107 to 175.redwing, probably i'll publish new asr preset pack later this evening.
Wishlist request: to support the additional tags Steven has added for classical music tagging (see this thread: http://getmusicbee.com/forum/index.php?topic=20209.60 (http://getmusicbee.com/forum/index.php?topic=20209.60))i've asked Steven about details about these new tags. waiting for his answer.
MOVEMENT
MOVEMENTNAME
MOVEMENTTOTAL
SHOWMOVEMENT
WORK
Thanks in advance.
redwing, please test new asr preset 'replace unicode punctuation marks...'
i knew that there are some errors.:)redwing, please test new asr preset 'replace unicode punctuation marks...'
Thanks for implementing this!
I tested with some unicode characters and it works well. However it for some reason multiplies the converted value. For instance, if you convert "abc" in title tag, it writes "abcabcabc".
Adding / SortAlbumArtist
Cant add / SortAlbumArtist
Adding / SortArtist
Cant add / SortArtist
Adding / SortComposer
Cant add / SortComposer
Adding / Work
Cant add / Work
Adding / MovementName
Cant add / MovementName
Adding / MovementNo
Cant add / MovementNo
Adding / MovementCount
Cant add / MovementCount
Adding / ShowMovement
Cant add / ShowMovement
Adding / Language
Cant add / Language
Adding / OriginalArtist
Cant add / OriginalArtist
Adding / OriginalYear
Cant add / OriginalYear
Adding / MusicianCredits
Cant add / MusicianCredits
Adding / OriginalTitle
Cant add / OriginalTitle
@phred, its because you've downloaded 02-09-2 plugin version instead of 02-09. to use 02-09-2 version (the only difference between these 2 versions is that 02-09-2 supports for new tags, recently added to mb by Steven) you need mb 3.1 latest patch:Yes, my bad. I thought I was using the latest patch, but apparently not. Thanks boroda74.
redwing, please test new asr preset 'replace unicode punctuation marks...'
phred, psychoadept, please test new option 'ask confirmation before auto-applying this preset' in main asr window.
frankcreed, i've received Stevens comments on new tags, but its not implemented yet.
http://www.mediafire.com/file/9i97ha7peugjsrx/mb_TagTools_2017-02-09.zip
Sorry, I've been behind! I just tested out the new confirmation setting. I'm not sure how it's supposed to work. When a setting is ticked for auto-apply, you have to also tick the confirmation setting? Otherwise it behaves as before, and goes straight to auto-apply?if preset is not ticked for auto-applying then it it doesn't matter if confirmation option is ticked or not. also confirmation option does nothing when you manually apply preset.
Sorry, I've been behind! I just tested out the new confirmation setting. I'm not sure how it's supposed to work. When a setting is ticked for auto-apply, you have to also tick the confirmation setting? Otherwise it behaves as before, and goes straight to auto-apply?if preset is not ticked for auto-applying then it it doesn't matter if confirmation option is ticked or not. also confirmation option does nothing when you manually apply preset.
That's all fine, but I don't think it has solved the problem. The change needed is the ability to make a preset NOT automatically applied with one click. It still only takes one click to mark the box next to a preset. There needs to be an opt OUT for confirmation of applying a preset, not an opt IN. Ideally this would be a global setting, maybe in the configuration panel. Something to the effect of "Do not require confirmation when applying tag changes automatically" (my preference would be to receive a confirmation when you tick the box fur the preset, but receiving it when tag changes are triggered could work, too.)actually i don't understand you. just tick confirmation checkboxes for all presets and you will get confirmation dialog before AUTO-applying these presets. its not the global option, but i don't think you have dozens auto-applied presets. and here you are right:
When a setting is ticked for auto-apply, you have to also tick the confirmation setting? Otherwise it behaves as before, and goes straight to auto-apply?
Hi !try dedicated 'change case' command instead of 'toy' asr preset.this command has much more options.
Since I've used the TOY change case command with advanced tagging tool, the numbers in my titles appear this way: "Ii, Iii, Iv, V, Vi"
(http://img11.hostingpics.net/pics/421302Capture.png) (http://www.hostingpics.net/viewer.php?id=421302Capture.png)
The exceptions is about putting words in lowercase, so I'm not sure what to use.
Does anyone of you know ? :)
@all
can't reproduce this bug.
try this plugin version:
http://www.mediafire.com/file/333ora4bh7s1p2m/mb_TagTools.dll
i need to know if error window (not confirmation dialog) with text "null!" will pop up for you.
could you try to upgrade to the very latest mb 3.1 patch? it seems that some mb functionality is broken now.I am pretty sure psychoadept is using the latest version. You need to let me know what api function specifically is not doing the expected thing. The only thing I can recall being changed is to allow the new tags to be retrieved, so is it possible one of the tag numbers you are calling is returning null and if so is the number < 175 ? Also if you are looking at the data type, don't assume that numeric fields are guaranteed to be valid numbers
Steven, thanks for your interest.
plugin now frequently (it seems that not always) gets null when it request mb native persistent track id if tag backup is turned on. more specifically (though i don't think it matters) plugin is failing to get track id in call of 'mbApiInterface.Library_GetDevicePersistentId(currentFile, (DeviceIdType)0)' in 'ReceiveNotification()' method.
3/1/2017 11:48:59 PM - at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=qGmwv8cv_Tv0jdbpgTZNffw==(String #=q8C57lWBhZw6z_r4NjT$pmw==, Int32 #=qSxE6bRWCJ8l76sY99lGchQ==)
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=q0cvPR40BT0zPtrVBnfPA$g==.#=qb_clzpoONlj9rF5mkOzgRyZYLlBtWAtvlgYMd2$xir0=(#=qh1isaBINOwFMhU544dHDfQ== #=qXipF23a6P49RVfcCYqgiiQ==, FileMode #=qHvVL8yiI4fW$kSle9$SezA==, FileAccess #=qYhyrkpYyKnUpK6tjVpyhtA==, FileShare #=q7mhLOYHM9R5NeTb2sGhWcQ==, Int32 #=qDyZVQw_jLxMuR1vP7DpENw==, Boolean #=qKBsW0n7re$XITg7MqX5OoQ==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qEdosXhXh2y8fSd7ddq3P4Sbt$a6crTBkPtJcZS866q8=(#=qh1isaBINOwFMhU544dHDfQ== #=qG5ASwGfwdd$M9RC$1GRV2Q==, FileMode #=qHM_N46ZBWR3Wl7dclLrKEQ==, FileAccess #=q7jQa0WvvJIYfoeVdK09LSA==, Int32 #=q6DdKOkNMw72AvpmLvB7_fA==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qazl6k$oWBk60YbdoMhmCOA5ysptXBWFm6TzgmOJPiO0=(#=qh1isaBINOwFMhU544dHDfQ== #=q7DI20uOZY60PuClLfRxB6A==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qv2C__rOSWo$qPqIDcTb2dDkZsYBJqJ0IvAEN9b6N4jw=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qqdJV3O5ldBcIivh2W49cBQ==, #=q7jWLST0vzQWExCXh58jTUP2bAnF3yEPx$O9Vq_e9q_Q= #=q3kB56$D05U1Xspzf6YwpBQ==, Int32 #=qDtx9o$EfgxzCJbKFEzyFDroFhTD3kwuoOIE_aPvNM90=, Stream #=q4kUlu3F8340IqFdNWJiOXA==, List`1 #=q5GNPyKNyWU6Ji0RqDqvwDg==, Boolean #=qllJS2uBYbLvTEk0B6r786W8IksRp1Ok52t9$0oD6EFg=)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qLezpjErWU0Y2Y1tP74RQvIN$VYxinb_PIM9hqc5tiE0=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qfrqndb4sEqfIeaidxU7SUw==, List`1 #=qUvaKN72ccwmOqp_biGvqPg==, Boolean #=qFdzdQXeROYVJvQuDQCmTtg==, List`1 #=q2sNy$fBiuycHnAeK2iljvQ==, #=qCiuJIBZrhEzfgLnfBgkgqKPhMe5$ttArFNtNAuKhNAs= #=qxN_55WA0xEJsPIO8of3Z6g==, Boolean #=q67iz9AlsFZ505$e7YePuQQ==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qhb9aklekV6xQhV1ick7$Dw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qLxLcgsr8KF94flqOu6sQyw==, List`1 #=q0M4fHt542oQdPJVy_nSyTQ==)
at MusicBee.Media.File.#=qa8WmNY2$7GsCTtYY7eeQuA==.#=q8x75j4LQqG8qpkM4DNmZug==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=q04Wsr3WgchflYoq4M9KI7w==, List`1 #=q_thh$uzd6Shz$KthF5mS$g==)
at MusicBee.Media.File.#=qhNiwMrUbo8UntzdYkSopnA==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qEXzWXCy4Drv9sqaAZzrjKQ==, List`1 #=qAQBysU4r74GjD7$DWcwovw==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=q9gRMxMvkd39i5Ez9XBtCOw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qb3$PnyUCsGjMq1I1dBtjvQ==, List`1 #=ql47ghZho6uQrs3HXON6Xbw==)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=qR_IC74Mk1ID3k7kWLXXDBw==(#=qIvMEl5$IzxmNl4zmdjBD2yzvkvVNkeg8PTvLCCp2XX3bPvrnGHWTz09rrNvsOUtF #=qvZC4tlg4Lk$wZLVgci8bZA==, Boolean #=qIjsRvLoI$Xt3Ruzf$vNAbw==, List`1 #=qNa0Ax8cQV03R_McQE6BqwA==, List`1 #=qI9xflfNH3X4vMRYqgrArKo7TuSO1qT5StbMmhQ_LxMk=)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=q1lKj2b760DLQBdeTNlH_5MEBf8_5TnCeoaH02DMoCew=()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
3/1/2017 11:48:59 PM - at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=qGmwv8cv_Tv0jdbpgTZNffw==(String #=q8C57lWBhZw6z_r4NjT$pmw==, Int32 #=qSxE6bRWCJ8l76sY99lGchQ==)
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=q0cvPR40BT0zPtrVBnfPA$g==.#=qb_clzpoONlj9rF5mkOzgRyZYLlBtWAtvlgYMd2$xir0=(#=qh1isaBINOwFMhU544dHDfQ== #=qXipF23a6P49RVfcCYqgiiQ==, FileMode #=qHvVL8yiI4fW$kSle9$SezA==, FileAccess #=qYhyrkpYyKnUpK6tjVpyhtA==, FileShare #=q7mhLOYHM9R5NeTb2sGhWcQ==, Int32 #=qDyZVQw_jLxMuR1vP7DpENw==, Boolean #=qKBsW0n7re$XITg7MqX5OoQ==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qEdosXhXh2y8fSd7ddq3P4Sbt$a6crTBkPtJcZS866q8=(#=qh1isaBINOwFMhU544dHDfQ== #=qG5ASwGfwdd$M9RC$1GRV2Q==, FileMode #=qHM_N46ZBWR3Wl7dclLrKEQ==, FileAccess #=q7jQa0WvvJIYfoeVdK09LSA==, Int32 #=q6DdKOkNMw72AvpmLvB7_fA==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qazl6k$oWBk60YbdoMhmCOA5ysptXBWFm6TzgmOJPiO0=(#=qh1isaBINOwFMhU544dHDfQ== #=q7DI20uOZY60PuClLfRxB6A==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qv2C__rOSWo$qPqIDcTb2dDkZsYBJqJ0IvAEN9b6N4jw=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qqdJV3O5ldBcIivh2W49cBQ==, #=q7jWLST0vzQWExCXh58jTUP2bAnF3yEPx$O9Vq_e9q_Q= #=q3kB56$D05U1Xspzf6YwpBQ==, Int32 #=qDtx9o$EfgxzCJbKFEzyFDroFhTD3kwuoOIE_aPvNM90=, Stream #=q4kUlu3F8340IqFdNWJiOXA==, List`1 #=q5GNPyKNyWU6Ji0RqDqvwDg==, Boolean #=qllJS2uBYbLvTEk0B6r786W8IksRp1Ok52t9$0oD6EFg=)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qLezpjErWU0Y2Y1tP74RQvIN$VYxinb_PIM9hqc5tiE0=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qfrqndb4sEqfIeaidxU7SUw==, List`1 #=qUvaKN72ccwmOqp_biGvqPg==, Boolean #=qFdzdQXeROYVJvQuDQCmTtg==, List`1 #=q2sNy$fBiuycHnAeK2iljvQ==, #=qCiuJIBZrhEzfgLnfBgkgqKPhMe5$ttArFNtNAuKhNAs= #=qxN_55WA0xEJsPIO8of3Z6g==, Boolean #=q67iz9AlsFZ505$e7YePuQQ==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qhb9aklekV6xQhV1ick7$Dw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qLxLcgsr8KF94flqOu6sQyw==, List`1 #=q0M4fHt542oQdPJVy_nSyTQ==)
at MusicBee.Media.File.#=qa8WmNY2$7GsCTtYY7eeQuA==.#=q8x75j4LQqG8qpkM4DNmZug==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=q04Wsr3WgchflYoq4M9KI7w==, List`1 #=q_thh$uzd6Shz$KthF5mS$g==)
at MusicBee.Media.File.#=qhNiwMrUbo8UntzdYkSopnA==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qEXzWXCy4Drv9sqaAZzrjKQ==, List`1 #=qAQBysU4r74GjD7$DWcwovw==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=q9gRMxMvkd39i5Ez9XBtCOw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qb3$PnyUCsGjMq1I1dBtjvQ==, List`1 #=ql47ghZho6uQrs3HXON6Xbw==)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=qR_IC74Mk1ID3k7kWLXXDBw==(#=qIvMEl5$IzxmNl4zmdjBD2yzvkvVNkeg8PTvLCCp2XX3bPvrnGHWTz09rrNvsOUtF #=qvZC4tlg4Lk$wZLVgci8bZA==, Boolean #=qIjsRvLoI$Xt3Ruzf$vNAbw==, List`1 #=qNa0Ax8cQV03R_McQE6BqwA==, List`1 #=qI9xflfNH3X4vMRYqgrArKo7TuSO1qT5StbMmhQ_LxMk=)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=q1lKj2b760DLQBdeTNlH_5MEBf8_5TnCeoaH02DMoCew=()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
3/1/2017 11:48:59 PM - at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=qGmwv8cv_Tv0jdbpgTZNffw==(String #=q8C57lWBhZw6z_r4NjT$pmw==, Int32 #=qSxE6bRWCJ8l76sY99lGchQ==)
at #=qpv2JUQuAHhMDCbXp2bxKog==.#=qmJpdlj3DFxVhg70jvgXYiA==.#=q0cvPR40BT0zPtrVBnfPA$g==.#=qb_clzpoONlj9rF5mkOzgRyZYLlBtWAtvlgYMd2$xir0=(#=qh1isaBINOwFMhU544dHDfQ== #=qXipF23a6P49RVfcCYqgiiQ==, FileMode #=qHvVL8yiI4fW$kSle9$SezA==, FileAccess #=qYhyrkpYyKnUpK6tjVpyhtA==, FileShare #=q7mhLOYHM9R5NeTb2sGhWcQ==, Int32 #=qDyZVQw_jLxMuR1vP7DpENw==, Boolean #=qKBsW0n7re$XITg7MqX5OoQ==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qEdosXhXh2y8fSd7ddq3P4Sbt$a6crTBkPtJcZS866q8=(#=qh1isaBINOwFMhU544dHDfQ== #=qG5ASwGfwdd$M9RC$1GRV2Q==, FileMode #=qHM_N46ZBWR3Wl7dclLrKEQ==, FileAccess #=q7jQa0WvvJIYfoeVdK09LSA==, Int32 #=q6DdKOkNMw72AvpmLvB7_fA==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=qazl6k$oWBk60YbdoMhmCOA5ysptXBWFm6TzgmOJPiO0=(#=qh1isaBINOwFMhU544dHDfQ== #=q7DI20uOZY60PuClLfRxB6A==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qv2C__rOSWo$qPqIDcTb2dDkZsYBJqJ0IvAEN9b6N4jw=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qqdJV3O5ldBcIivh2W49cBQ==, #=q7jWLST0vzQWExCXh58jTUP2bAnF3yEPx$O9Vq_e9q_Q= #=q3kB56$D05U1Xspzf6YwpBQ==, Int32 #=qDtx9o$EfgxzCJbKFEzyFDroFhTD3kwuoOIE_aPvNM90=, Stream #=q4kUlu3F8340IqFdNWJiOXA==, List`1 #=q5GNPyKNyWU6Ji0RqDqvwDg==, Boolean #=qllJS2uBYbLvTEk0B6r786W8IksRp1Ok52t9$0oD6EFg=)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qLezpjErWU0Y2Y1tP74RQvIN$VYxinb_PIM9hqc5tiE0=(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qfrqndb4sEqfIeaidxU7SUw==, List`1 #=qUvaKN72ccwmOqp_biGvqPg==, Boolean #=qFdzdQXeROYVJvQuDQCmTtg==, List`1 #=q2sNy$fBiuycHnAeK2iljvQ==, #=qCiuJIBZrhEzfgLnfBgkgqKPhMe5$ttArFNtNAuKhNAs= #=qxN_55WA0xEJsPIO8of3Z6g==, Boolean #=q67iz9AlsFZ505$e7YePuQQ==)
at MusicBee.Media.File.Tagging.#=q3Cu9SrnMaI30zN9cdj$7bg==.#=qhb9aklekV6xQhV1ick7$Dw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qLxLcgsr8KF94flqOu6sQyw==, List`1 #=q0M4fHt542oQdPJVy_nSyTQ==)
at MusicBee.Media.File.#=qa8WmNY2$7GsCTtYY7eeQuA==.#=q8x75j4LQqG8qpkM4DNmZug==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=q04Wsr3WgchflYoq4M9KI7w==, List`1 #=q_thh$uzd6Shz$KthF5mS$g==)
at MusicBee.Media.File.#=qhNiwMrUbo8UntzdYkSopnA==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qEXzWXCy4Drv9sqaAZzrjKQ==, List`1 #=qAQBysU4r74GjD7$DWcwovw==)
at #=qWeF$mQrEqw9hRKKgLzejpNChsGdtcNK9pr1q0g5FeJs=.#=q9gRMxMvkd39i5Ez9XBtCOw==(#=qkTasL8dsZ6JWDx2NytSqxyAuRQ5LiYnVdeLLEMf4fXA= #=qb3$PnyUCsGjMq1I1dBtjvQ==, List`1 #=ql47ghZho6uQrs3HXON6Xbw==)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=qR_IC74Mk1ID3k7kWLXXDBw==(#=qIvMEl5$IzxmNl4zmdjBD2yzvkvVNkeg8PTvLCCp2XX3bPvrnGHWTz09rrNvsOUtF #=qvZC4tlg4Lk$wZLVgci8bZA==, Boolean #=qIjsRvLoI$Xt3Ruzf$vNAbw==, List`1 #=qNa0Ax8cQV03R_McQE6BqwA==, List`1 #=qI9xflfNH3X4vMRYqgrArKo7TuSO1qT5StbMmhQ_LxMk=)
at #=qqOhFRUOH0GvU5$xoGffr3RI87kwpuh5xhTCQWfGBkv4=.#=qjxxVw5wgEJN1Wr95D4fR3wTvY92v$htlhnlpfMsFjGs=.#=q1lKj2b760DLQBdeTNlH_5MEBf8_5TnCeoaH02DMoCew=()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
MusicBee v3.1.6283.38016 (Win10.0), 16 Mar 2017 15:08:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.askConfirmationCheckBox_CheckedChanged(Object sender, EventArgs e)
at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e)
at System.Windows.Forms.CheckBox.set_CheckState(CheckState value)
at System.Windows.Forms.CheckBox.set_Checked(Boolean value)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.presetList_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.CheckedListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.NativeRemoveAt(Int32 index)
at System.Windows.Forms.ListBox.ObjectCollection.SetItemInternal(Int32 index, Object value)
at System.Windows.Forms.ListBox.ObjectCollection.set_Item(Int32 index, Object value)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.editPreset(Preset tempPreset, Preset originalPreset)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.buttonEdit_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
In addition to the error being thrown (reported just above) those newly created presets are being triggered just about every time I edit a tag or add lyrics even when the Title or Album tag already has the proper case. Is that the way it's supposed to work? I would expect it would check the case and only ask for confirmation if/when the case needed to be updated. If this is as expected, then I guess I can just turn off confirmation.there is no way in mb api to determine which tags were changed. if its *very* important for you i can add check before confirmation if preset is actually changing anything. as for error i will look into it.
there is no way in mb api to determine which tags were changed. if its *very* important for you i can add check before confirmation if preset is actually changing anything. as for error i will look into it.Not necessary as it's not that important. It's much easier to simply disable the request for confirmation. Then whatever needs to get changed gets changed and I don't even have to think about it. But thanks for offering.
3/21/2017 8:55:08 AM - 6.1.7601.65536 - 3.0.6132.15853 - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
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 MusicBee.Plugin.#=q8RoorlQ8HIg85T6khe4eDptctZs9uZqlk1FqeoNVSVs=()
3/21/2017 7:19:27 PM - 6.1.7601.65536 - 3.1.6287.39764 - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: '#=qd3gb_2djDMcwA57Pndq3gxbiMU3kKCarJlFTyaaZXsY='.
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Form.UpdateHandleWithOwner()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at System.Windows.Forms.Form.ShowDialog()
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 MusicBee.Plugin.#=qyt0FUH9HPXzxojc6MBE8Jw==(IntPtr #=qepWpJlE8RxvBAk$uFMD8oQ==)
MusicBee v3.1.6275.38881 (Win10.0), 21 Mar 2017 15:19:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBee.Plugin.#=qjKWbvhPGx5RULOcCYsjzzEuaNdPK_prWLbOIScrjDgI=(String #=qRgLyhqFOcd1lxTyMriCq$A==, Int32 #=qAzAgFwi$uZV1l0Hr_0$Luw==, String #=qLXYFnmDm856gHOeOJD6u3Q==)
at MusicBeePlugin.Plugin.SetFileTag(String sourceFileUrl, MetaDataType tagId, String value, Boolean updateOnlyChangedTags)
at MusicBeePlugin.PasteTagsFromClipboardPlugin.pasteTagsFromClipboard()
at MusicBeePlugin.PasteTagsFromClipboardPlugin.PasteTagsFromClipboardPlugin_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
some bug fixes:
http://www.mediafire.com/file/43gqu2dgqgfo3b5/mb_TagTools_2017-03-24.zip
try this version:
http://www.mediafire.com/file/y4738budi6rtgax/mb_TagTools_2017-03-28.zip
MusicBee v3.1.6293.19583 (Win6.1), 28 Mar 2017 15:37:
System.ArgumentNullException: Value cannot be null.
Parameter name: value
at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture)
at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.InitializeComponent()
at MusicBeePlugin.AdvancedSearchAndReplacePlugin..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
$ASR(<URL>,preset_id)
Today I tried to download the tagging tool of the above named and everytime I clicked on download a new advertising page oben in the end I had 5 ad pages for each click. Hence I gave up.Its up to boroda74 if he wants to take your advice, but a number of the plugin developers and musicbee itself use mediafire.com because its free to host files for the developer without restrictions other hosting sites have. Personally i have never had a problem with mediafire but i guess you were unlucky.
I find this not to be very professional and as a negative touch to it. I therefore advice to change the download options in a way that is acceptable. Thanks!
Does MusicBee show in the application what version of the plugin that user is using?Preferences > Plugins > Additional Tagging Tools > Configure.
Does MusicBee show in the application what version of the plugin that user is using?Preferences > Plugins > Additional Tagging Tools > Configure.
Version is at the bottom.
Please can anyone help me with a problem I am having exporting track rating ?. For some of my albums when I preview/export them from Library report the Rating column for all tracks is showing as the same value (e.g 2) but Musicbee shows the rating as a combination of 2,3,4 stars etc. I have the "Store rating in music file" property enabled but disabling that, re-tagging the ratings to different values etc. makes no different, the rating in Library Report stubbornly stays set to 2 for all tracks. Any ideas what's going on and how I get Library Report to reflect what I am seeing in Muscbee ? Thankscan you pm me the link to one of problematic files (*not* 2-stared and rated with 'store ratings in music files' enabled)?
Hey, does this work with v3.0.6335 of MusicBee? When I try to load it it says "Unable to load this plugin: Exception has been thrown by the target of an invocation."not the latest version of plugin (which requires latest mb 3.1 patch). if you prefer to use mb 3.0 go to plugin download page and redownload plugin from there.
Great work on it btw! Never had any issues before.
Second edit: Disregard this post. Just a case of confusion on my end.Hey, does this work with v3.0.6335 of MusicBee? When I try to load it it says "Unable to load this plugin: Exception has been thrown by the target of an invocation."not the latest version of plugin (which requires latest mb 3.1 patch). if you prefer to use mb 3.0 go to plugin download page and redownload plugin from there.
Great work on it btw! Never had any issues before.
What boroda74 is saying is that in order to use the current version of the plugin, you have to have MB 3.1, which you can get from my sig. You don't have to uninstall anything.
He is also saying that if you want to stay on 3.0, you have to go to the -plugin- download page and redownload from there.
new command is added: compare tracks. this command provides easy way to compare tags of 2 (or more) tracks.Great idea!! Thanks for implementing this.
However (you just knew there would be a however, didn't you?)i was sure :) and its very pity that i have marked this version as stable too early. will look at the issues.
i was sure :) and its very pity that i have marked this version as stable too early. will look at the issues.Thanks for looking into it.
new command is added: compare tracks. this command provides easy way to compare tags of 2 (or more) tracks.Great idea!! Thanks for implementing this.
However (you just knew there would be a however, didn't you?)
In a few tests tag data is not populating the correct tags. Note that the following tags are incorrect:
BPM, Composer, Genre, Sort Album Artist, Work. (Composer in these two tracks is blank; info in "Work" is from Comments; Sort Album Artist shows BPM; Genre shows Artist
(http://i.imgur.com/Jsj7dvyl.jpg) (http://i.imgur.com/Jsj7dvy.jpg)
In some further testing, BPM is -never- in the correct place, and not always in the same place. But it's most everything else that's not correct either.
Let me know if there's anything I can do to help you troubleshoot this.
(with caution :)) new version seems to be a bit less buggy. persistent windows are also fixed:Working well. I like the addition of artwork. Tags now seem to be placed where they belong. And the window is indeed persistent.
i have added new virtual tag function: $ALR(<URL>,function_id)
Hi Boroda,
Since a few months (after updating MB to version 3.1.5900 or so, I have problems with ONE of your ASR commands.
I created one to copy my virtual file PERFORMERS-VIRTUAL to PERFORMERS.
The virtual file itself is the sum of categories like vocalist-main, vocalist-other, instrumentalist, choir, orchestra, director (for classical works).
Once I have filled them in all, I want to put them in the PERFORMERS field which in the column viewer displayes all 'involved people'.
It still works as before - with ONE annoying exception:
The target field for the merging result of fields PERFORMERS-VIRTUAL + MOOD is always set to VOCALS-MORE - not by me, I don't use it for that purpose. MANUALLY i can enter the correct target field: PERFORMERS and then execute the command properly.
But if I want to SAVE the new settings, I get an MB error message - and the target field can NOT be changed.
This is the error message:
System.UnauthorizedAccessException: Access to the path 'C:\Users\Wim\AppData\Roaming\MusicBee\ASR Presets\2acc97f0-bd50-476a-8f2a-680eedca8985.ASR Preset.xml' is denied.
@ Camzo
Have you tried updating to the 3.1 version of the plugin?
The version I have is 2017-06-12. I think it's the latest?I think it's the latest too. At the very least, it's the same one I'm using ;D
Managed to figure out a a solution along the same vein as what you suggested. I uninstalled it through musicbee then went and removed any traces of files it had left behind in both programfiles(x86) and %APPDATA%. It seems to be working now.The version I have is 2017-06-12. I think it's the latest?I think it's the latest too. At the very least, it's the same one I'm using ;D
Try disabling the plugin from Preferences
Re-start MB and then re-enable the plugin.
Tried $ALR function for album size: selecting Album and Sum(Size). It works and the virtual field shows the value correctly for each track. But the problem is it almost freezes the UI with high CPU usage. At MB's start, I see it finishes the ALR update 100% from the status bar, but why it gets sluggish right after that with nothing to compute? Looks like a bug.
System.UnauthorizedAccessException: Access to the path 'C:\Users\Wim\AppData\Roaming\MusicBee\ASR Presets\2acc97f0-bd50-476a-8f2a-680eedca8985.ASR Preset.xml' is denied.
You don't have permission to access the file. Google how to change permissions on files/folders.
The result of a click on the column header DATE ADDED does not give the expected result. It is confusing and messy. If I add 4 cd's of the same opera album ONE BY ONE in the order 1-2-3-4 the DATE ADDED result downwards should be 4-3-2-1, but it is not. Can be 2-4-3-1 or 3-1-4-2 or anything. Looks as if the sort order feature looks at the DATE only, not (correctly) at the TIME.
And one or more of the 4 cd's can even be displayed BELOW tracks that were added earlier in time...
I've tried using the "Copy Tag" feature of the ADDITIONAL TAGGING AND REPORTING TOOLS plugin, configurations:
- using "Append source tag to the end..." - I end up with -> Vocal; NEW GENRE; Vocal <-- Note that now there are 2 entries of original Genre in the Genre field
- using "Add source Tag to the beginning..." -- same issue of duped genre entries
$IsNull(<Custom5>,,<Custom5>"; ")<Genres>
And the fact that when you tick the preset, the two options
Auto apply preset only if track is contained in playlist
and
Ask confirmation before autoapplying this preset
are suddenly available to select, should have been a deadset giveaway that the preset was going to be auto applied.
MusicBee v3.1.6546.37911 (Win6.1), 13 Dec 2017 14:22:
System.IO.FileNotFoundException: Could not find file 'C:\Users\Tony\AppData\Roaming\MusicBee\Tag Backups\DJ Music - Baseline.bbl'.
File name: 'C:\Users\Tony\AppData\Roaming\MusicBee\Tag Backups\DJ Music - Baseline.bbl'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at MusicBeePlugin.BackupType.Load(String fileName, String backupFileExtension)
at MusicBeePlugin.TagHistoryPlugin.fillTable(String folder, Boolean includeSubfolders, Int32 maxBackupCount, Int32 trackIndex, Boolean reuseCache)
at MusicBeePlugin.TagHistoryPlugin.TagHistoryPlugin_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
I got this error message:sorry for being late. this error means that you have 2 (mostly probably custom) tags with name 'custom9'
MusicBee v3.1.6420.28372 (Win6.1), 12 Aug 2017 14:00:
System.UnauthorizedAccessException: Access to the path 'C:\Users\Wim\AppData\Roaming\MusicBee\ASR Presets\2acc97f0-bd50-476a-8f2a-680eedca8985.ASR Preset.xml' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.saveSettings()
at MusicBeePlugin.AdvancedSearchAndReplacePlugin.buttonSave_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
Don't know what it means.
It happened after I renamed a number of my custom tags. That was necessary due to the new layout of the tag (2) screen.
There seems something wrong with custom tage 9.
When performing an ASR command the popup says:
Some tage names are duplicated. See (...)tagtools.tagnameserrorlog.txt for details. The plugin is not properly initialized.
The message there says: Cant add Custom 9 / Custom9
What does it mean? What should I do?
Or is a bug fix necessary first?
Thanks!
Hi Boroda,check write access for this file
Since a few months (after updating MB to version 3.1.5900 or so, I have problems with ONE of your ASR commands.
I created one to copy my virtual file PERFORMERS-VIRTUAL to PERFORMERS.
The virtual file itself is the sum of categories like vocalist-main, vocalist-other, instrumentalist, choir, orchestra, director (for classical works).
Once I have filled them in all, I want to put them in the PERFORMERS field which in the column viewer displayes all 'involved people'.
It still works as before - with ONE annoying exception:
The target field for the merging result of fields PERFORMERS-VIRTUAL + MOOD is always set to VOCALS-MORE - not by me, I don't use it for that purpose. MANUALLY i can enter the correct target field: PERFORMERS and then execute the command properly.
But if I want to SAVE the new settings, I get an MB error message - and the target field can NOT be changed.
This is the error message:
System.UnauthorizedAccessException: Access to the path 'C:\Users\Wim\AppData\Roaming\MusicBee\ASR Presets\2acc97f0-bd50-476a-8f2a-680eedca8985.ASR Preset.xml' is denied.
What to do?
Thanks,
Wim
@Boroda74...working fine here. its 'custom text 1' which defines how many chars to remove. try to 'import all' presets again.
Maybe this is an oversight, or perhaps it's me, but in the "Remove # characters from the beginning/end of <Tag 1>" preset, there doesn't appear to be a place to indicate the number of characters to remove. Nor does there appear to be a place to indicate if the removal is to be from the beginning or the end.
Hmmm ... on further inspection, I found preset "Remove given number of characters from beginning/end of <Tag 1>" which does what I expect. Perhaps this preset replaced the one I mentioned above? And the first one should be removed.
Thanks for clarifying.
Hi all'original year' has been added to mb very recently, so try to upgrade both mb and plugin to latest version.
fyi1: Great add-in!
fyi2: I was not able to find a related post, hence this topical post.
I noticed when using the Additional Tagging add-in, specifically the Copy and/or Swap Tags features, not all tag fields are available.
For example, I'd like to copy all of my "YEAR (YYYY)" tags to the tag "Original Year" but "Original Year" is not in the list of "swappable" tags. It seems like perhaps this is an omission.
Is this something that can be added?
Thanks
evan
no freezing for me, but it takes abot 5 sec to alr column be filled (14000 files in my library).Tried $ALR function for album size: selecting Album and Sum(Size). It works and the virtual field shows the value correctly for each track. But the problem is it almost freezes the UI with high CPU usage. At MB's start, I see it finishes the ALR update 100% from the status bar, but why it gets sluggish right after that with nothing to compute? Looks like a bug.
Update on this. The freezing comes from ticking either auto-calculate setting or auto-apply tickbox for a preset. If I do not tick both tickboxes I don't get such freezing, but still it can't show the tag values stably. I get a completely empty main panel for a tab with that column added.
+1System.UnauthorizedAccessException: Access to the path 'C:\Users\Wim\AppData\Roaming\MusicBee\ASR Presets\2acc97f0-bd50-476a-8f2a-680eedca8985.ASR Preset.xml' is denied.
You don't have permission to access the file. Google how to change permissions on files/folders.
BTW if you encounter such issues often, I'd recommend using a portable installation.
delete all presets, then try re'import all' presets.
You don't have permission to access the file. Google how to change permissions on files/folders.
I checked the permissions. I have all possible permissions, I think - including ownership...
Not very familiar with these matters, but that is what I see...
Could the problem perhaps be a corrupt file?
This is what happened:
I checked for the file with my program Everything. At the given location I found TWO files with that name but could NOT access them.
Deleting one of them did not help. And once one of the two were deleted, the given file could not be found inside the appdata folder.
Then I found the same file in one of my backup files. It could be accessed without a problem.
So I copy/pasted it to the appdata folder. Ran the preset again. Same error message: no access...
Any other solution?
Thanks...
Getting the following error when attempting to add the plugin:
-----------------------------------------------
Unable to save due to the following error:
Found invalid data while decoding.
------------------------------------------------
I am getting the message " Unable to initialise the plugin. Exception has been thrown by the target of an invocation." when trying to enable the additional tools in the portable version of MB version 3.1.6529. This message does not appear on the desktop version of the MB and the plugin works correctly. Can anyone please direct me to the file which may be creating this error message in the portable version?actually there is no difference for plugin between portable and desktop version of mb. make sure you are using latest mb version.
Thanks a lot
An error I get with both versions of the plugin:if you are trying to use autobackup feature then 1st create baseline backup manually.CodeMusicBee v3.1.6546.37911 (Win6.1), 13 Dec 2017 14:22:
System.IO.FileNotFoundException: Could not find file 'C:\Users\Tony\AppData\Roaming\MusicBee\Tag Backups\DJ Music - Baseline.bbl'.
File name: 'C:\Users\Tony\AppData\Roaming\MusicBee\Tag Backups\DJ Music - Baseline.bbl'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at MusicBeePlugin.BackupType.Load(String fileName, String backupFileExtension)
at MusicBeePlugin.TagHistoryPlugin.fillTable(String folder, Boolean includeSubfolders, Int32 maxBackupCount, Int32 trackIndex, Boolean reuseCache)
at MusicBeePlugin.TagHistoryPlugin.TagHistoryPlugin_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
@redwing, phred, Bee-leiver, thank you for your assistance!Glad to help :)
Great to see you back here!Yes. With the long absence, I was beginning to get worried...
I am getting the message " Unable to initialise the plugin. Exception has been thrown by the target of an invocation." when trying to enable the additional tools in the portable version of MB version 3.1.6529. This message does not appear on the desktop version of the MB and the plugin works correctly. Can anyone please direct me to the file which may be creating this error message in the portable version?actually there is no difference for plugin between portable and desktop version of mb. make sure you are using latest mb version.
Thanks a lot
+1Great to see you back here!Yes. With the long absence, I was beginning to get worried...
@Steven, what do you think about this?When i get time after a couple of other things i can enhance the cuesheet tag (18) to also write to the external cuesheet file
@redwing, all tags which are writable in mb api are writable in plugin. but for artist:performer tag there IS a workaround: add prefix \@char(1) to a performer, when you write he to artist tag.
as for required preset it looks very sophisticated and probably impossible, but i'll try to make it later.
Performer tag before:
Göteborgs Symfoniker (orchestra); Vladimir Chernov (baritone vocals); Sergej Larin (tenor vocals)
Custom Text:
soprano vocals; mezzo-soprano vocals; alto vocals; tenor vocals; baritone vocals; bass vocals; choir vocals; orchestra
Performer tag after:
Sergej Larin (tenor vocals); Vladimir Chernov (baritone vocals); Göteborgs Symfoniker (orchestra)
'Reencode tag' command is replaced by 'Reencode tags' command. cuesheets are supported.
Probably there are better ways of doing this, but I could suggest the following workflow with the given example:Performer tag before:
Göteborgs Symfoniker (orchestra); Vladimir Chernov (baritone vocals); Sergej Larin (tenor vocals)
Custom Text:
soprano vocals; mezzo-soprano vocals; alto vocals; tenor vocals; baritone vocals; bass vocals; choir vocals; orchestra
Performer tag after:
Sergej Larin (tenor vocals); Vladimir Chernov (baritone vocals); Göteborgs Symfoniker (orchestra)
- assign a number to each role in custom list from 1: tenor gets 4, baritone 5, orchestra 8.
- substitute the role with the assigned number: Sergej Larin (4), etc.
- sort values by the numbered role in ascending order: Sergej Larin (4) will come first.
- substitute each number with its original role: Sergej Larin (4) becomes Sergej Larin (tenor vocals), etc.
'Reencode tag' command is replaced by 'Reencode tags' command. cuesheets are supported.
its preview tags only. the whole cuesheet is reencoded. but it seems that there is some bug with displaying cuesheet tags in mb, waiting for Steven's response.'Reencode tag' command is replaced by 'Reencode tags' command. cuesheets are supported.
Aside from the cuesheet issue, I don't really see much progress with this tool. It now supports only three tags: album artist, album, and title. Previously it was possible to fix other tags as well.
i can add 1 arbitrary selectable tag to display in the table. do you think its acceptable?
phred, i always disable persistent windows when i'm editing ui. its just a beta and it will fixed for stable release.Ooops... you're right. I apologize. I now remember you telling me this the last time I used a beta.
3 fields AND all changed tags (if any) in parenthesis.
3 fields are for just identifying tracks. i'm afraid that tooltips would be too wide if i include tag names along with tag values. parenthesis can be removed, but i want to separate track representation (title - album - artist) and all other tags.
When they have garbled text, it has to show each field twice. How about using Disc-Track# for identifying tracks?no, artist, album and title are always shown just ones. disk-track# is always displayed as 1st tag in track representation. but using disk-track# only may be insufficient if they are blank.
Just got this error when previewing one album with the command, which crashed MB:i think it was happening because i was trying to reencode artworks also :)
10.0.16299.0 - 3.2.6595.18565 - System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.String.Concat(String str0, String str1, String str2)
at MusicBeePlugin.Plugin.GetTrackRepresentation(String[] tags, String[] tags2)
at MusicBeePlugin.ReencodeTagsPlugin.previewChanges()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
They show up twice: once outside of parentheses, second within the parentheses. Still I think they are too much just for identifying purpose.http://www.mediafire.com/file/x34w9b63wu2mv8c/mb_TagTools_2018-01-22-2.zip
How about showing Disc-Track# only and if that's null, then show title?
They show up twice: once outside of parentheses, second within the parentheses.its because there are duplicated performer names in 'displayed artist' tag and in 'artist' tag.
you can double-click on any cell to view full tag value
persistent windows are restored:Thanks for the notification
Getting this error and it doesn't write values as shown in preview.redwing, i cant reproduce this error, but i've found some bug (again with artwork) and have fixed it. try this version:
10.0.16299.0 - 3.2.6595.18565 - System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBeePlugin.ReencodeTagsPlugin.applyChanges()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at #=zlzGadM3B9bXeaXFUig==.#=z5TDdNmu87foz(Object #=z7JHDu6k=)
Is this due to adding the sort tag option?
If a tag value is decimal numeral (e.g. 1.03476), $Mul function gives an error: "$Mul failed: Exception has been thrown by the target of an invocation".i don't want to support floating point numbers to standard functions as they will always return a float. but i can make dedicated float arithmetic functions: $AddFloat(), $MulFloat(), etc.
Can you support sorting float numbers in virtual fields?if you define the virtual tag as numeric in the field definitions dialog, the next v3.2 update should sort it correctly
Can you support sorting float numbers in virtual fields?if you define the virtual tag as numeric in the field definitions dialog, the next v3.2 update should sort it correctly
Template editor has function selector that lists all supported functions.yes, you are quite right, haven't noticed that i can switch from tag list to function list. but i suppose i cant show list of plugin functions in any convenient way by the means of plugin.
$And(parameter1,parameter2)
$Or(parameter1,parameter2)
public string CustomFunc_MultiAnd(params string[] parameters)
Thanks!
All are working great except sorting issue with float numbers:
(https://i.imgur.com/P5edQrU.png)
It completely ignores decimal point and minus sign.
Tried changing the virtual field's format to number, but it makes no differences.
Not sure this is something you can handle or Steven has to look.
Another issue is when rounded it drops all trailing zeros like the screenshot. Why not keep those zeros like 3.00 instead of 3?
@boroda74Steven, thanks for advice, i'll try decimal type if the problem reoccurs.
perhaps the Decimal data type will work better?
step 1:
search for: ^(.*), The
replace with: $1
step 2:
the same as above, but for another tag
step3:
the same
phred, i've included this preset to plugin package:WOW! Thanks very much. I haven't had time to test it yet, but will later today.
A few more function requests. No need to hurry:
$Name(abc.def.gh.mp3) returns abc.def.gh
$CutLeft(abcde,2) returns cde (while $Left(abcde,2) returns ab)
$CutRight(abcde,2) returns abc (while $Right(abcde,2) returns de)
$RoundDown(4.28,1) returns 4.2
$RoundUp(5.2,0) returns 6
$Mod(8,3) returns 2
Some of those are only possible using regex or complex formula (to work in all cases), so it will help people to create a template they need right away. Thanks!
@boroda74-
While syncing a few thousand tracks to my portable, I noticed that a lot of Albums, Album Artists, and Artists came across as "Name, The" and I had specifically changed that in MB's Sorting Tab. But obviously I missed a lot of them.
Using AT&RT, I was able to get rid of ", The" on thousands of tracks in just a few minutes. But I had to run it three times - once for each tag.
I copied the default preset and tried to add two other tags for a total of three: Sort Album, Sort Album Artist, Sort Artist. But this new preset is only looking at one tag. How can I get it to look at all three tags and if found, remove ", The" from the end of the tag.
phred, i've included this preset to plugin package
$NumberOfDays function returns floats. Can you make it return integers (just rounding down the rest)?
And I'm not sure $SubDate needs to return mm:ss part too. Why not just return days as integer?
$NumberOfDays function returns floats. Can you make it return integers (just rounding down the rest)?i'm surprised that it doesn't return integers. i'll fix it.
And I'm not sure $SubDate needs to return mm:ss part too. Why not just return days as integer?
for $SubDate, what will be the difference with $NumberOfDays, if i make $NumberOfDays to work correctly?
i'll remake all date functions as i'm not satisfied with current set of functions.for $SubDate, what will be the difference with $NumberOfDays, if i make $NumberOfDays to work correctly?
What do you mean? $NumberOfDays returns days from the current date and $SubDate returns days between two given dates?
I'm looking for a way to have AS&R search -any- field. When doing a custom search MB allows the use of "Any Field." Using that I can find any field that has Unicode characters (') and replace them with ASCII ('). Using AS&R I have to do it field by field. Being able to set AS&R to look at any field would really simply the process and set it to be automatically applied whenever it comes across a '.unfortunately its now too late (too hard) to do this.
Thanks.
unfortunately its now too late (too hard) to do this.Understandable. Thanks.
Can you add Date Added as writable field so that the field can be updated without updating files?i will include "date added" as a field that doesnt update the music file
i will include "date added" as a field that doesnt update the music file
Can you add Date Added as writable field so that the field can be updated without updating files?of course. its already on my todo list.
Like this request (https://getmusicbee.com/forum/index.php?topic=24547.0) it would be great if search & replace can convert multiple values at once for a given tag. How about adding a new "Multiple Search & Replace" command to the plugin that allows people to list a great number of paired search and replace values and converts them one shot? Also allow to list multiple values for search for a single replace value, when entering paired values.its done as new asr preset:
Is there a way to run multiple presets at once?no, because asr wont be able to know the order of presets.
I can select multiple presets but have to run each one individually.
Can someone also tell me what the 2 buttons to the right of the long text field are for?its for filtering the list of presets. presets with assigned hotkeys are marked by star.
Like this request (https://getmusicbee.com/forum/index.php?topic=24547.0) it would be great if search & replace can convert multiple values at once for a given tag. How about adding a new "Multiple Search & Replace" command to the plugin that allows people to list a great number of paired search and replace values and converts them one shot? Also allow to list multiple values for search for a single replace value, when entering paired values.its done as new asr preset:
http://www.mediafire.com/file/1wwufnm9dj27wc0/mb_TagTools_2018-03-01.zip
It just crashes MB if there's any syntax error (for instance if a slash is used instead of a backslash).
I also noticed this when entering a wrong regex pattern in other presets. Can you make it not to crash in such a case?
It just crashes MB if there's any syntax error (for instance if a slash is used instead of a backslash).
I also noticed this when entering a wrong regex pattern in other presets. Can you make it not to crash in such a case?
Like this request (https://getmusicbee.com/forum/index.php?topic=24547.0) it would be great if search & replace can convert multiple values at once for a given tag. How about adding a new "Multiple Search & Replace" command to the plugin that allows people to list a great number of paired search and replace values and converts them one shot? Also allow to list multiple values for search for a single replace value, when entering paired values.its done as new asr preset:
http://www.mediafire.com/file/1wwufnm9dj27wc0/mb_TagTools_2018-03-01.zip
Thanks a lot!
I just tested it and it's working great. How many pairs do you think it can handle entered in the custom text box?
If you don't mind me asking, what were the parameters of your test?
sorry:It just crashes MB if there's any syntax error (for instance if a slash is used instead of a backslash).
I also noticed this when entering a wrong regex pattern in other presets. Can you make it not to crash in such a case?
more exactly: 'save all', F5
Use ##, \\, || sequences for symbols #, \, |.
i haven't foreseen special sequences \\\ and ||| which can be treated ambiguously. i think i'll change all service symbols and escape sequences to avoid this situation.Use ##, \\, || sequences for symbols #, \, |.
Escape sequences are not working at all.
Say you're changing a tag value "# \ |" to "a b c", then this should work "##\a|\\\b|||\c" but it's not working along with this error.
System.ObjectDisposedException: Cannot access a disposed object.redwing, is this reproducable? you are the second person reporting it and it looks very strange.
Object name: 'AdvancedSearchAndReplacePlugin'.
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at MusicBeePlugin.PluginWindowTemplate.display(Boolean modalForm)
at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
redwing, is this reproducable? you are the second person reporting it and it looks very strange.
See this: https://getmusicbee.com/forum/index.php?topic=3833.msg141287#msg141287
You need to change "Now" in the formula.
See this: https://getmusicbee.com/forum/index.php?topic=3833.msg141287#msg141287Thanks redwing - i'll give it a go ;D
You need to change "Now" in the formula.
I haven't looked at solving your issue by means of using this plugin, but I do notice that for your search query, you have copied 'CA', 'DA' 'CB' 'DB' from the virtual tag formula I had offered you earlier.
You should probably change that back to '11A' '12A' '11B' '12B' and use regex boundaries?
Any version of mb_TagTools that is beyond 2018-03-01, breaks my search query (SYNTAX ERROR) which is as follows:replace \ by /
11\C|12\D|1A\A♭ Minor|2A\E♭ Minor|3A\B♭ Minor|4A\F Minor|5A\C Minor|6A\G Minor|7A\D Minor|8A\A Minor|9A\E Minor|10A\B Minor|CA\F♯ Minor|DA\D♭ Minor|1B\B Major|2B\F♯ Major|3B\D♭ Major|4B\A♭ Major|5B\E♭ Major|6B\B♭ Major|7B\F Major|8B\C Major|9B\G Major|10B\D Major|CB\A Major|DB\E Major
I will stay with version 2018-03-01 until I can figure out the correct syntax for the newer versions.
Thank you again for this incredible tool.
try:See this: https://getmusicbee.com/forum/index.php?topic=3833.msg141287#msg141287Thanks redwing - i'll give it a go ;D
You need to change "Now" in the formula.
Getting too bogged down with commas and parenthesis and made a pigs ear out of it....Any help would be most welcome please ;D
1) - Last Played was NNN days ago - by 'redwing' was working ok
$If(<Last Played>="Unknown",,$If($Div($NumberOfDays(Now,<Last Played>),1000)<1,$Right(00$NumberOfDays(Now,<Last Played>),3),999))
2) - Years Since Release Date - by 'boroda74' was working ok
$If(<Year>="Unknown",,$Round($Div($NumberOfDays($Now(),<Year>),365),0))
Both formulae now kaput since updating to the latest Tagging Tools v5.0.6637
Kind regards: Freddy
Boroda74 (https://getmusicbee.com/forum/index.php?action=profile;u=728) Said: try......
1) - Last Played was NNN days ago - credit to 'redwing' was working ok
$If(<Last Played>="Unknown",,$If($Div($NumberOfDays($Now(),<Last Played>),1000)<1,$Right(00$NumberOfDays($Now(),<Last Played>),3),999))
2) - Years Since Release Date - credit to 'boroda74' was working ok
$If(<Year>="Unknown",,$Round($Div($NumberOfDays($Now(),<Year>),365),0))
i've placed a workaround if tag 'year' is just year (not full date).
When lots of files are selected with a big library, the plugin window disappears after reading 100% (status bar says that). "Show hidden window" command doesn't help. If I reopen the ASR command, it's a new one.not sure if bug is fixed, but now only changed files are displayed in preview table:
How about listing only files that will be updated in the table? That's how MB's native search & replace command does. Even with a big library, most of the time the files that need to be updated are not that many and no need to list all selected files in the plugin window table.
Also it would be useful if it shows the count of selected files and to-be-updated files after reading is done.
redwing, thanks for bug report, i haven't noticed it because it concerned only english localization.
just dont import presets after update. or import only new presets.Of course! Now why didn't I think of that? Thanks.
new function is added: $Path(filename_with_path)
It already supports $Name function, then you could make $Name(<URL>) returning path with filename instead of adding the new $Path function.bad idea because combining strings is much easier than removing substring. actually we already are able for a long time to get any part of url using $RxReplace function.
i don't understand how mb works with instruments/roles through api.
for multiple search and replace its not so easy, but maybe there is a workaround.
Thanks! It's working now. But maybe it would be better if it writes display artist from performer tag rather than from original artist tag. That will allow to rewrite display artist value based on performer tag for any files regardless of their current artist tag.http://www.mediafire.com/file/gbxicvbkghoe0k6/mb_TagTools_2018-03-16.zip
this works for me: A/b|C/d|*(e)/\\@tc($1)
Regarding the bug, are you gonna allow multiple instances of the ASR command? I don't think it's a good idea because each window might have different template and it could end up losing the template the user wanted to use. Why not just restore the hidden window if the user runs the command again?just because i'm failed to determine when and where existing hidden windows become disposed (still existing, but unusable anymore).
I'm not sure how the case conversion code works.what command or preset do you meant?
For instance, I have these two titles.
PIANO SONATA In G Major
symphony no. 1 in b minor
and want to convert them to
Piano Sonata in G major
Symphony No. 1 in B minor
Can you show me an example code that can convert both titles?
what command or preset do you meant?
Regarding the bug, are you gonna allow multiple instances of the ASR command? I don't think it's a good idea because each window might have different template and it could end up losing the template the user wanted to use. Why not just restore the hidden window if the user runs the command again?just because i'm failed to determine when and where existing hidden windows become disposed (still existing, but unusable anymore).
I don't know but the hidden window is always usable for me. How about restoring it anyway even if it's unusable? Then the user will close it down and run the command again. I think that would be better than possibly having multiple hidden windows without knowing it.then this exception arises. but i think i've found the problem, it seems that i've accidentally changed couple lines of code at some time. now its working fine for me as previously.
i'm not sure what do you need this preset for this purposes for at all. use 'change case' command or preset. 'multiple search and replace' preset is not to change *rules* for one search/replace pattern, its for applying several (unlimited) steps of search/replace at once with the same rules.what command or preset do you meant?
multiple search & replace preset.
I'm not sure how to use vertical bar as "or" with multiple search and replace preset.
either
*cat|dog/rabbit
or
*cat\|dog/rabbit
doesn't work.
also try using it inside parenthesis
*(cat|dog)/red-$1
*(cat\|dog)/red-$1
doesn't work either.
That works. Thanks!command wont touch exactly this preset, instead you will able to save custom copies of this preset. its only for auto applying purposes, no other sense to save presets.here is what i have at the moment (still buggy):
And I found \\| works for matching the character in regex.
BTW when you create the separate command, it would be great if each step has a tickbox to enable/disable it. Then users could save all of frequently used templates in the preset, and just tick some of them to apply.
I was testing case conversion command and found it doesn't work properly when the search pattern contains a vertical bar.its because its equivalent to: \\@tc(cat) \\@tc(dog) \\@tc(rabbit)
For a string "cat dog rabbit"
*(cat\|dog\|rabbit)/$1
returns the same so it's working fine.
Now if you try
*(cat\|dog\|rabbit)/\\@tc($1)
it returns
Rabbit Rabbit Rabbit
instead of
Cat Dog Rabbit
actually not so difficult:
its because its equivalent to: \\@tc(cat) \\@tc(dog) \\@tc(rabbit)
and unfortunately the same asr function (eg \\tc()) is supported only once per expression. it would be *very* difficult to fix this. this issue is not the problem for other presets (considering support for 5 steps), but not for this preset.
For instance, I have these two titles.
PIANO SONATA In G Major
symphony no. 1 in b minor
and want to convert them to
Piano Sonata in G major
Symphony No. 1 in B minor
Can you show me an example code that can convert both titles?
*^(.*)/\\@tc($1)|*\b(in\|major\|minor)\b/\\@lc($1)
you were able to do this earlier:
open Change Case command, edit exception word list, close this window, open asr, use: ^(.*)/\\@tc(\\@lc($1))
much simpler, but you have less control, i mean you might change exception word list for change case command and forget it, then try to use asr.
i can add support for second argument (excepted words) to all casing functions, but it will look too cluttered in regexes: \\@tc($1,a an the in on at with by)
I just tried the new command, but it doesn't seem working.its alpha
Preview shows nothing and if I save a preset, where can I find and open it?
Also now no need to use those meta-characters in search pattern, or still they are required?
Probably the problem is it doesn't respect the source tag and the destination tag setting when applying.yes, at least this is the case. i'll fix it.
I have expected it would be possible to load a saved preset from MSR window and then re-edit, run and save it. Can you support this?maybe later. parsing is not very easy and i want to have at least basic functionality first.
Also maybe they could be stored in a separate sub-folder and be loaded only from MSR window because currently the user would end up having too many presets for ASR command. That would be more consistent and efficient to manage them.i dont want to duplicate ASR functionality and ASR doesn't support folders.
QuoteProbably the problem is it doesn't respect the source tag and the destination tag setting when applying.yes, at least this is the case. i'll fix it.
- Tried case conversion code, not working. The saved preset shows ^(.\*) instead of ^(.*)
- Since the previous version, "delete all" button in ASR window deletes all presets. I lost all my custom presets. Also the saved MSR presets shouldn't be deleted and need to be treated as custom presets.
You mean the user should import MSR preset first to make the command save a preset?yes. don't want to change this behavior.
its strange, but both *^(.*)/\@tc($1) and *^(.*)/\\@tc($1) is working fine for me (i mean ASR).i'll leave it as is, but MSR now saves escaped ASR functions.
Also I noticed remove leading zeros presets (both of them) have a bug.will check it.
If a file has no target tag (track#), it writes "SYNTAX ERROR" to the tag.
msr window doesn't support asr functions. its intended, but probably should be fixed.its fixed.
Also I noticed remove leading zeros presets (both of them) have a bug.actually its very serious bug, which concerns almost all presets, especially its risky for auto-applied presets. thanks for this finding! now asr wont write SYNTAX ERROR! to tags (though it still will display this message in preview table).
If a file has no target tag (track#), it writes "SYNTAX ERROR" to the tag.
now asr wont write SYNTAX ERROR! to tags (though it still will display this message in preview table).
Case code is working, but noticed a very strange bug.its expected behavior :) i've just forgotten that i've made a change for asr recently. open change case command, edit excepted words and click 'asr' button to save these words for all asr casing functions. \\@tc($1) works because this function always capitalizes 1st and last words in a sentence.
Try this with MSR preset
*(in\|of\|on)/\\@lc($1)
Those words are not working. If you use other words, or with @tc, it's working.
I don't understand why it's so complicated and there are things that has to be done first to make other things work. I wonder how other users would figure all this out.i don't understand what is complicated and i don't expect that most users even know something about asr casing functions.
Then can you tell me what I need to do to make that code working?open change case command, edit text (excepted words) after 'except for words' label or just clear the text, click 'ASR' button to the right of this text, do not make preview, do not click 'proceed', close command window. you have made default excepted words for ASR/MSR. if you want to override excepted words for particular situation just use second (optional) parameter, i.e.
What do I have to do with the change case command? I never used the command as I only used the change case preset.
i've forgotten to reenable persistent windows:Not a problem. I would've reminded you. :-)
So if I clear the word list in change case command and click ASR button, would any presets work as it used to?it will just clear the list of excepted words for asr, i.e. asr wont except any words by default and functions \@tc($1) and \@tc($1,) will do the same.
I don't know how to run your plugin. I thought it would "appear" on musicbee but perhaps it should be moved to a folder where it can be "seen"? thanks in advance for your patience...
So if I clear the word list in change case command and click ASR button, would any presets work as it used to?it will just clear the list of excepted words for asr, i.e. asr wont except any words by default and functions \@tc($1) and \@tc($1,) will do the same.
"Sort performers by their roles" preset is no longer working. It gives syntax error. I wonder if you may have changed something when you're working on another performer preset later.its not only this preset, almost half of presets were affected by this bug. update plugin and reimport all presets. also now use '\(' and '\)' instead of explicit (not service) '(' and ')' in both search (this was required previously) and *replace* patterns of ASR/MSR.
what is the common practice of capitalizing in english? must the last word be capitalized always, sometimes of never?
So far it's working fine for me as it used to. But \@tc($1,a the an) function can't be used for classical music title formatting as it always capitalizes last word. So I have to use \@lc in a separate step.
BTW I noticed ASR preset folder includes one Russian named MSR test preset.i'll delete it.
its not only this preset, almost half of presets were affected by this bug. update plugin and reimport all presets.
what is the common practice of capitalizing in english? must the last word be capitalized always, sometimes of never?
also now use '\(' and '\)' instead of explicit (not service) '(' and ')' in both search (this was required previously) and *replace* patterns of ASR/MSR.
ofc i meant titles, not generic text.what is the common practice of capitalizing in english? must the last word be capitalized always, sometimes of never?
Never. It's only capitalized in titles (books, movies, albums, songs, etc).
Many of my music files contain dates such as 1-1-1970 or 1980-11-12
But i do not care about days and months, and would like to permanently change these tags so they only contain the year (1970, 1980 etc.)
I found that to isolate the year, this regex should work:
[0-9]{4}
And it indeed works when i tried it on an online regex tester.
But, i can't figure out how to setup this plugin to make this work.
I tried if i could start with some 'extract' presets to perhaps tweak those, but failed miserably.
It would be great if somebody would be willing to show what i need to enter where exactly.
No need for regex. Or for modifying an existing preset.
I see two presets which might help you. Search for 'date' and you'll come up with:
- Remove month and day from release date
- Replace full date with year in '<Tag 1>'
I think the second one will do what you want. But I suggest you test on one or two tracks before you run everything through it.
"Convert all artists with their roles after comma to performers" preset is no longer working with syntax error. I think it's about () to be replaced by \( \) in the code, but I can't fix it myself.i cant reproduce this bug. 1st download latest version, if bug persists let me know exact performer names and roles:
If you edit any of those values in artist splitter and save it again, then it works.
tag <guest artist> is read-only in mb api, but there is a workaround. i'll search for similar preset written for redwing and will adopt it for your needs. also ALWAYS experiment with a few test tracks before bulk editing tags.
what happens if just use 'toy: copy tag' asr preset to artist tag to artist tag (you need to mb 3.2). latest plugin version wont work correctly with mb 3.1, its strange if it works somehow at all with 3.1.
However, next time I add new files that's been tagged with Musicbrainz Picard, I will face the same issue as those files will automatically be tagged "Performer: Name (guest artist) because that's how Picard does it.
However, next time I add new files that's been tagged with Musicbrainz Picard, I will face the same issue as those files will automatically be tagged "Performer: Name (guest artist) because that's how Picard does it.
Why not use a script in Picard in the first place to tag it the way you want?
\@char(2)$1 (\@lc($2))\@null()
redwing, though i cant reproduce 'SYNTAX ERROR!' message, i've found (and fixed) a bug for situation you described:I'm getting a thrown exception error when trying to enable it.
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip
I'm getting a thrown exception error when trying to enable it.
I'm getting a thrown exception error when trying to enable it.
Trying deleting the plugin settings file in AppData folder.
MSR preset is no longer working. And MSR command window doesn't work for multiple files. Can you reproduce this?i've found several bugs. cant reproduce that MSR doesn't work for multiple files, but it wont display tracks without changes.
MSR command and presets are now working.
But if you hide MSR window and rerun the command, you get this error:
MusicBee v3.2.6671.32617 (Win10.0)
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at System.Windows.Forms.DataGridViewColumnCollection.get_Item(Int32 index)
at System.Windows.Forms.DataGridView.FlushDisplayedChanged()
at System.Windows.Forms.DataGridView.PerformLayoutPrivate(Boolean useRowShortcut, Boolean computeVisibleRows, Boolean invalidInAdjustFillingColumns, Boolean repositionEditingControl)
at System.Windows.Forms.DataGridView.OnColumnCollectionChanged_PreNotification(CollectionChangeEventArgs ccea)
at System.Windows.Forms.DataGridViewColumnCollection.Clear()
at System.Windows.Forms.DataGridView.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.Windows.Forms.Form.Dispose(Boolean disposing)
at MusicBeePlugin.MultipleSearchReplaceCommand.Dispose(Boolean disposing)
at System.Windows.Forms.Form.Close()
at MusicBeePlugin.PluginWindowTemplate.display(Boolean modalForm)
at MusicBeePlugin.Plugin.multipleSearchReplaceEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
"Split <Tag 1> to tags <Tag 2>, <Tag 3>, <Tag 4>" preset doesn't work.
I have to use "Split <Tag 1> to tags <Tag 2>, <Tag 3>" preset twice.
If that's also about the parentheses handling, will you fix the issue by changing the meta-character?
Thanks! that preset is now working properly.redwing, use now double brackets for asr functions, eg. \@tc[[$1]]
But there are more issues. The two performer presets have not been working for some time. Don't know when it worked last time.
Also msr command and preset were broken but now start working again. Still there's some issue when parentheses are used.
Try this:
*^(.*?)b/$1c
It works with msr command, but not with msr preset.
Found the following entries in my error log this morning. I'm pretty sure these occurred upon opening MB as I don't think I was yet playing anything at the time they were thrown.can you reproduce this error with latest version of plugin?
Don't know if it's related, but when I opened MB this morning it immediately locked up without loading the library or anything else (last.fm icon at the bottom was "!" for example). I had to "End Task" it in the Task Manager and then it worked fine when I reopened it.
EDIT: Looking back, I see this error kind of frequently in my error log going back to January 2018 when I was using MB version 3.1.6596.
Also "Folder name" and "Path" are missing from read-only tag list. Can you add them as part of that value can be used for other tags?no, because these pseudo tags are not a tags (even virtual tags), they are virtual tag functions represented as tags.
I've just updated. Since I'm not sure what produced it, I'm not sure how to know whether I can reproduce it, but I'll keep an eye in the error log and let you know. This month I've gotten it on the 2nd, twice within a second on the 5th, and twice within a second last night - all of them seem to have been at a time when I would initially open MB. May be a couple of weeks before I'll know whether it's solved or not since it's so random.Found the following entries in my error log this morning. I'm pretty sure these occurred upon opening MB as I don't think I was yet playing anything at the time they were thrown.can you reproduce this error with latest version of plugin?
Don't know if it's related, but when I opened MB this morning it immediately locked up without loading the library or anything else (last.fm icon at the bottom was "!" for example). I had to "End Task" it in the Task Manager and then it worked fine when I reopened it.
EDIT: Looking back, I see this error kind of frequently in my error log going back to January 2018 when I was using MB version 3.1.6596.
Thanks! that preset is now working properly.redwing, use now double brackets for asr functions, eg. \@tc[[$1]]
But there are more issues. The two performer presets have not been working for some time. Don't know when it worked last time.
Also msr command and preset were broken but now start working again. Still there's some issue when parentheses are used.
Try this:
*^(.*?)b/$1c
It works with msr command, but not with msr preset.
i'm afraid i haven't tested new version thoroughly enough though.
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip
EDIT: i've made some bugfixes. link is the same.
I've got a Search and Replace preset that clears "Last Played" and sets Play Count to 0. Well, it used to. Now (version 5.0.6683? I can't really see the version number per my previous post), the blank "Replace" field that previously worked shows "SYNTAX ERROR!" in the "New tag value" field when I preview.
I can get around this by making it replace "Last Played" with "Unknown" (or anything else, I guess) but I'd prefer not to do this since Last Played is defined as a date field and, I think, is blank by default. Blanking it out has been working fine for me forever.
Any ideas on how to get around this? What can I put in Last Played to make MB think the file has never been played?
I use it for very specific cases. After I add an album to the inbox and preview it to see which tracks I want to add to my playlist, I clear the playdata so that the preview play "doesn't count."I've got a Search and Replace preset that clears "Last Played" and sets Play Count to 0. Well, it used to. Now (version 5.0.6683? I can't really see the version number per my previous post), the blank "Replace" field that previously worked shows "SYNTAX ERROR!" in the "New tag value" field when I preview.
I can get around this by making it replace "Last Played" with "Unknown" (or anything else, I guess) but I'd prefer not to do this since Last Played is defined as a date field and, I think, is blank by default. Blanking it out has been working fine for me forever.
Any ideas on how to get around this? What can I put in Last Played to make MB think the file has never been played?
I was just thinking quite the opposite, how could I consign "Last Played date and time" to a tag - as that is one important detail that I would like to be able to preserve within the music file - (in case of a complete re-ruild of the MB library from scratch, as was recently required)..
Freddy :-)
I use it for very specific cases. After I add an album to the inbox and preview it to see which tracks I want to add to my playlist, I clear the playdata so that the preview play "doesn't count."I've got a Search and Replace preset that clears "Last Played" and sets Play Count to 0. Well, it used to. Now (version 5.0.6683? I can't really see the version number per my previous post), the blank "Replace" field that previously worked shows "SYNTAX ERROR!" in the "New tag value" field when I preview.
I can get around this by making it replace "Last Played" with "Unknown" (or anything else, I guess) but I'd prefer not to do this since Last Played is defined as a date field and, I think, is blank by default. Blanking it out has been working fine for me forever.
Any ideas on how to get around this? What can I put in Last Played to make MB think the file has never been played?
I was just thinking quite the opposite, how could I consign "Last Played date and time" to a tag - as that is one important detail that I would like to be able to preserve within the music file - (in case of a complete re-ruild of the MB library from scratch, as was recently required)..
Freddy :-)
I also clear it for the first two weeks after a song is added to my library so that it'll come up in my playdata related autoplaylists more often. This is done automatically by the plugin. I do this because, once a song is played, it isn't eligible for play again in these playlists for 6 months.
Having this data in a tag would be helpful. Having a full playdata history for a song would be even better.
1) I also clear it for the first two weeks after a song is added to my library so that it'll come up in my playdata related autoplaylists more often. Once a song is played, it isn't eligible for play again in these playlists for 6 months.
2) Having this data in a tag would be helpful. Having a full playdata history for a song would be even better.
1) For very similar results, you may want to try something like:-That's actually not similar at all. Thanks, though. I want new tracks (3 months, actually) in my playlist no matter how many times they've been played. I want new music in constant rotation. For the first two weeks, I automatically clear the play data so that none of it counts toward any quota. From the 92nd day of age on, I only want to hear a song every 6 months at the most, even if the play was from within day 15 to 91.
Match: All of the following rules
Date Added is in the last 30 days (or whatever works for you)
Last Played is not in the last 30 days
Limit to NN items selected by: Least recently played
I want new tracks (3 months, actually) in my playlist no matter how many times they've been played. I want new music in constant rotation. For the first two weeks, I automatically clear the play data so that none of it counts toward any quota. From the 92nd day of age on, I only want to hear a song every 6 months at the most, even if the play was from within day 15 to 91.
I've got it working fine. It's just this "SYNTAX ERROR!" that's got me down right now.
I'm sure there's a way to automate all of that good stuff with auto-playlists... probably! ???Yes, I already do as I said earlier. Thanks for the advice, though.
Regards: Freddy
Yes, I already do as I said earlier. Thanks for the advice, though.
It's really just the "SYNTAX ERROR!" where there wasn't one before that I'm asking about.
Also, while I'm here and all, this has been the way the plug-in's "Setting" dialog has looked to me for as long as I can remember.its fixed for the next update
(http://i.thinimg.com/img/34il.png)
If the picture goes away for some reason in the future, a portion of the bottom of the box is cut-off. It's not expandable in any direction. My screen's at 1920X1080 and I don't have any scaling applied that I'm aware of.
Thanks! that preset is now working properly.is working fine for me for all cases: msr preset or msr command.
But there are more issues. The two performer presets have not been working for some time. Don't know when it worked last time.
Also msr command and preset were broken but now start working again. Still there's some issue when parentheses are used.
Try this:
*^(.*?)b/$1c
It works with msr command, but not with msr preset.
Thanks! that preset is now working properly.is working fine for me for all cases: msr preset or msr command.
But there are more issues. The two performer presets have not been working for some time. Don't know when it worked last time.
Also msr command and preset were broken but now start working again. Still there's some issue when parentheses are used.
Try this:
*^(.*?)b/$1c
It works with msr command, but not with msr preset.
also i've added support for up to 32 virtual tags. the same link.
Recently I noticed some tracks' song info doesn't scroll properly on the player bar. Turned out they had a carriage return character at the end of title tag value. That came from "Paste tags from clipboard" command when copying multiple tags from Notepad++.redwing, carriage returns are used to split tags of different tracks (and tabs are used to split tags of single tracks). there must be something else.
Can you make the command ignore that character at the end of each tag value while doing copy & paste?
Been getting this error whenever I run the library reports, recently started happening after I'd copy the tag from Artist to Album Artistlib reports is working fine foe me. try to delete all groupings/aggregated functions and recreate them from scratch.
MusicBee v3.1.6590.32668 (Win10.0), 9 May 2018 17:35:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MusicBeePlugin.LibraryReportsPlugin.AggregatedTags.GetField(KeyValuePair`2 keyValue, Int32 fieldNumber, List`1 groupingNames)
at MusicBeePlugin.LibraryReportsPlugin.previewTrackList()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
i've reuploaded plugin (because i see all 32 virtual tags).also i've added support for up to 32 virtual tags. the same link.
It supports up to Virtual25 tag. It doesn't support Virtual26 - 32 tags.
For the msr issue,use \, for search pattern of msr preset. msr command will auto-escape commas.
try the code to a string with a comma (for instance "a,bc"), then msr preset isn't working while msr command works.
i've reuploaded plugin (because i see all 32 virtual tags).
carriage returns are used to split tags of different tracks
use \, for search pattern of msr preset. msr command will auto-escape commas.
Yep, that's what I meant. Try it yourself. If you copy tags from tracks and paste it, it works fine. But if you copy tags from notepad++, it adds carriage return at the end of the tag (if you copy three lines of values for three tracks and paste it, only the first two tracks get carriage return).why not just add additional carriage return after last line in notepad++?
all other chars are enumerated in msr preset description.use \, for search pattern of msr preset. msr command will auto-escape commas.
Are there any other characters behave that way that I should know of?
Yep, that's what I meant. Try it yourself. If you copy tags from tracks and paste it, it works fine. But if you copy tags from notepad++, it adds carriage return at the end of the tag (if you copy three lines of values for three tracks and paste it, only the first two tracks get carriage return).why not just add additional carriage return after last line in notepad++?
Another bug with both msr preset and command:
Try " bc/ cc" for the string "a bc". Both don't work properly. I think it has problem handling a space. Sometimes it works only for first track when multiple tracks are selected.
Still seeing "SYNTAX ERROR!" when trying to "blank out" (erase the value of by replacing with empty values) Last Played and Play Count as reported earlier. Not sure how to "properly" handle these. It worked in earlier versions to just put nothing in the replace with field.
could you post a screenshot of notepad++ with service chars shown 'couse i dont understand what do you want?Yep, that's what I meant. Try it yourself. If you copy tags from tracks and paste it, it works fine. But if you copy tags from notepad++, it adds carriage return at the end of the tag (if you copy three lines of values for three tracks and paste it, only the first two tracks get carriage return).why not just add additional carriage return after last line in notepad++?
My request is not add it to any tags.
have completely forgotten about your bug report related to spaces. will have a look at it today.Another bug with both msr preset and command:
Try " bc/ cc" for the string "a bc". Both don't work properly. I think it has problem handling a space. Sometimes it works only for first track when multiple tracks are selected.
It's not fixed for msr command. Try it with multiple files and only first track changes.
could you post a screenshot of notepad++ with service chars shown 'couse i dont understand what do you want?
its fixed:Another bug with both msr preset and command:
Try " bc/ cc" for the string "a bc". Both don't work properly. I think it has problem handling a space. Sometimes it works only for first track when multiple tracks are selected.
It's not fixed for msr command. Try it with multiple files and only first track changes.
currently copy tag command and msr command use the same source/target tag setting. Can you make each command use its own setting so that each command remembers its own last used tag set?
Try white-listing the dll in your security software. Or perhaps white-listing the entire MB folder.
Still having problems that the mb_tagtools.dll won't load after the computer has been properly shutdown. Every time I have to manually add the plugin again in the preferences. When an user has been logged off and logged on again there is nothing the matter and the .dll normally loads! I haven't a clue whats going on here. The mb_tagTools.dll has been white listed. I never had this problem before....
I'm trying to set up a couple of "copy" presets. Is there a way to choose to only apply those if the destination is empty?i can create additional 'copy' preset for this purpose.
Let's say I have an album with ten tracks. Two of those tracks already have a "display artist" tag, how would I go about copying the artist tag to the display artist tag for the remaining eight tracks?
I'm trying to set up a couple of "copy" presets. Is there a way to choose to only apply those if the destination is empty?i can create additional 'copy' preset for this purpose.
Let's say I have an album with ten tracks. Two of those tracks already have a "display artist" tag, how would I go about copying the artist tag to the display artist tag for the remaining eight tracks?
I'm trying to set up a couple of "copy" presets. Is there a way to choose to only apply those if the destination is empty?i can create additional 'copy' preset for this purpose.
Let's say I have an album with ten tracks. Two of those tracks already have a "display artist" tag, how would I go about copying the artist tag to the display artist tag for the remaining eight tracks?
Thanks for the offer but there's no need to do it if it's just for the case I described above. Turns out MB itself didn't really jive with the way I was doing things so I no longer have any use for such a preset.
Hi,
is it possible to support "user-defined" tags?
I use some personal tags in my files, and I want to automatically copy them into a custom Musicbee tag.
For example,
I have a tag "SOURCE" that does not correspond to any existing tag, I would like to do
Copy Tags... > SOURCE to Custom6 for example.
Hi,You have to do either "Import" (to choose specific ones of interest) or "Import All" to bring them all in (which can be a little overwhelming as a list).
I dont know if anyone can help, but when I open Advanced search and replace, I have no pre-sets at all, I am using the windows store version but I did try uninstalling and downloading Musicbee off the website, but still the same no pre-sets when I open the setting, any help at all would be most welcome
Thanks for your help but I cant get it to work unless I am doing something stupid, I click Import All, and it says no presets where imported.Hi,You have to do either "Import" (to choose specific ones of interest) or "Import All" to bring them all in (which can be a little overwhelming as a list).
I dont know if anyone can help, but when I open Advanced search and replace, I have no pre-sets at all, I am using the windows store version but I did try uninstalling and downloading Musicbee off the website, but still the same no pre-sets when I open the setting, any help at all would be most welcome
Hi,check 'Musicbee\Plugins\ASR Presets' folder. it must contain ~100 .xml files.
I dont know if anyone can help, but when I open Advanced search and replace, I have no pre-sets at all, I am using the windows store version but I did try uninstalling and downloading Musicbee off the website, but still the same no pre-sets when I open the setting, any help at all would be most welcome
Running "Replace Unicode punctuation marks by ASCII punctuation marks" preset deletes the entire value if it contains a comma.i see this bug, will try to fix it.
@boroda74i'll try to do this tomorrow.
I would love to have a 'copy' preset that would only copy if the 'from' tag wasn't null value.
eg. copying "Display Artist" to a custom tag "Artist: Display", but only if "Display Artist" has a value.
I currently do this for both "Display Artist" and "Display Composer" by using a virtual tag in my regex, but having the preset handle it would free up 2 virtual tags!
(https://i.imgur.com/l2crx0C.gif)1st bug will be definitely fixed today, second request is too hard.
Something like this in the track listing window would be nice. It would speed up the process massively:
(https://i.imgur.com/4XdFj34.gif)
On one of my periodic drops back in to the forum and the plugin isn't loading for me currently. Running the latest MB patch and the 29-05-18 version of the plugin. MB loads with it disabled and then, when I try to enable it, MB pops up with the error message "Unable to initialise this plugin: Exception has been thrown by the target of an invocation.". Any ideas on the problem?try to delete <AppData>\mb_tagtools.settings.xml file.
Hi thanks for getting back to me, sorry I cant find that folder, I am using Musicbee from the windows store, I believe the Musicbee app is inside a hidden windows app folder, would it be anywhere else.Hi,check 'Musicbee\Plugins\ASR Presets' folder. it must contain ~100 .xml files.
I dont know if anyone can help, but when I open Advanced search and replace, I have no pre-sets at all, I am using the windows store version but I did try uninstalling and downloading Musicbee off the website, but still the same no pre-sets when I open the setting, any help at all would be most welcome
the windows store folder will be something like:Many thanks for that, inside that folder was a ASR presets folder but it was empty, there was also a plugin folder and inside that was another ASR presets folder with 103 files in, which I copied over to the empty folder and now all the presets show when I open the setting, many thanks to everyone who helped me sort this out.
C:\Users\<your id>\AppData\Local\Packages\50072StevenMayall.MusicBee_kcr266et74avj\LocalCache\Roaming\MusicBee
What presets have changed? Are there any except the unicode preset?
What presets have changed? Are there any except the unicode preset?
unicode preset and all presets with 2 parameter asr functions (i've replaced , by ;; ).
Bee-leiver, find second 'copy tag' preset:Thank you!
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
If we have the "date created" tag in this Form ex. "28-8-2018" is there any way to convert it to "2018-08-28"
Date display format
Date display format in MB follows your Windows short date format. It applies to various "year" tags and "date" tags. Thus editing year tag format with tag editor won't change its displayed format within MB.
You could also use virtual tags with $Date function if you want to keep your Windows setting in a different way.
On one of my periodic drops back in to the forum and the plugin isn't loading for me currently. Running the latest MB patch and the 29-05-18 version of the plugin. MB loads with it disabled and then, when I try to enable it, MB pops up with the error message "Unable to initialise this plugin: Exception has been thrown by the target of an invocation.". Any ideas on the problem?try to delete <AppData>\mb_tagtools.settings.xml file.
Has the formula for converting ReplayGain to Soundcheck changed? It used to produce something like this "00000943 00000943 00001728 00001728 00024CA8 00024CA8 00007AAD 00007AAD 00024CA8 00024CA8" but now it explicitly writes out what the changes are (like ReplayGain does).
If you copy any date time tag to last played, it doesn't write a correct hour. Can you take a look?
Using the AS&R preset "Remove # characters from the beginning/end of <Tag 1>" I'm trying to remove 5 characters from the end of the track title. I use the drop-down to select 'Title' for Tag 1, but I don't see where there's a field to specify 5 characters. Nor do I see where to specify to remove from the end of the title.
That preset literally removes "#" characters from both beginning and end of a tag. Use "Remove given number of characters from beginning/end of <Tag 1>" preset instead. Enter "0" and "5" in both custom boxes for your purpose.Ahhh ... The preset I was using removes the -number- sign (#) not a -number- of characters.
I like to convert ReplayGain values to Itunes soundcheck for legacy purposes. I had that working nicely with this plugin, then had a hard drive failure.
I decided to try using the Windows Store version of MB (currently 3.2.6827) and installed the plugin, but am getting soundcheck values like so:
\@rg2sc4mp3(-1.43 dB)
I saw it earlier in this thread, and wonder if it's because I'm using the "app" versus the standard Win10 installer. Please advise.
hmm. will be sufficient to have user defined exception value (or maybe value list) for track title (for any input tag in general) in this case?Yes, I think a list for exceptions would be better than one value.
@phred, enter tag exclusions separated by ;; in the list at the bottom of asr.Thanks boroda. I'll have some time to dig into this in the next few days.
of course, its some kind of beta at the moment. :)@phred, enter tag exclusions separated by ;; in the list at the bottom of asr.And can you please make the window location persistent when you have the change? Thanks.
of course, its some kind of beta at the moment. :)Ahhh yes. You've mentioned that before - you don't make the window persistent until you're out of beta. Thanks.
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
Is it not possible to offer this file in a location accessible without having to create a (mediafire) account ?It is not necessary to register on MediaFire. I clicked on the plugin link and it took me direct to the MediaFire page with a window to download. Click it and it downloads. I did it yesterday, and I just tried it again today.
Weird, tried it again and now it works without credentials. The first I tried it I had to enter a Username/PW
It is not necessary to register on MediaFire. I clicked on the plugin link and it took me direct to the MediaFire page with a window to download. Click it and it downloads. I did it yesterday, and I just tried it again today.
persistent windows are reenabled8)
@boroda...no, you are not mistaken. its intentional change, but i'm not sure what is better. I think i'll revert it back.
Perhaps I'm mistaken, but I seem to recall that when using the "Change Case" module, the "New Tag Value" column showed tracks to be changed in blue. That doesn't happen in the version release today. Perhaps in the version released yesterday also, but I hadn't checked it. Nor is the color showing in AS&R proposed changed tracks. I apologize in advance if I'm only imagining it used to do this.
no, you are not mistaken. its intentional change, but i'm not sure what is better. I think i'll revert it back.Of course -I- think having the coloring is better as it calls attention to the fields that are going to be changed. Which helps me untick tracks that I don't want to change.
I reinstalled MB again, but cannot find how to install the ASR plugin again.From the add-on page, click the download link and download the ZIP. (Your post update shows you did this)
Absolutely not even an idea where to search.
Once I have it back I am sure I will re-teach myself again how to use my favorite features.
But how to begin?
@borodajust have tried to create a simple test preset and found no problems. so its not about reusing temp1 tag, its something else. try to check/experiment with your regexes.
I think I found a bug in the new version :o
When you try to access a <Temp #> tag more than once, the regex is applied but all values from the source tag are copied over (see step 2)
(https://i.imgur.com/MxP3KE0.jpg)
all the values of Lyrics? have been appended to the tag:
(https://i.imgur.com/EGIMPKO.jpg)
If I change the output of step 2 to another tag:
(https://i.imgur.com/4FyEf01.jpg)
only the correct regex output is appended to the tag:
(https://i.imgur.com/Fy1aFjn.jpg)
Using MB 3.3.6987 wtih ATRT version released Feb 15 2019...ill revert coloring back (the reason for the change was that previous coloring didn't look good with some skins).
I'm finding that the width of the columns in 'preview' do not remain persistent. When I open ASR they're bunched together and I spread them apart, run a preset, close ASR, reopen it and the columns are bunched together again.
Thanks.
Hello all,don't understand. could you post a screenshot?
I managed to copy/import a list of presets in my newly attached plugin.
But...
In the past I had added/created a limited number of my own presets.
I thought they were lost, but I searched my pc for ALL ASR-presets and copied them to my appdata MBplugin folder.
Now they appear in the presets list again.
But still not reached the finish.
Seems none of the presets can be activated.
After I select one, I can change a selected element (e.g. Title > Track) but the rest is greyed out.
Cannot find till now what I do wrong.
Any idea?
Thanks,
Wim
I have a question regarding the backup/restore function. Does it include every tag field that's present in a FLAC file, including custom tags created by mp3tag or musicbee? I used it today to try to restore the value of the tag <lyrics> but it didn't do anything.all tags, which are mapped to mb tags (including custom tags). but I indeed see a bug with lyrics tags (and maybe some other tags).
ill revert coloring back (the reason for the change was that previous coloring didn't look good with some skins).Thanks - looking forward to the changes.
you are right, there is some bugs with remembering column widths.
just have tried to create a simple test preset and found no problems. so its not about reusing temp1 tag, its something else. try to check/experiment with your regexes.OK. Will try a few different ideas.
MusicBee v3.3.7032.40028 (Win10.0), 3 Apr 2019 22:01:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.String.Split(String[] separator, Int32 count, StringSplitOptions options)
at MusicBeePlugin.PasteTagsFromClipboardCommand.pasteTagsFromClipboard()
at MusicBeePlugin.PasteTagsFromClipboardCommand.PasteTagsFromClipboardPlugin_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
Also, I noticed the Lyrics? psudeo-tag is read/write in MSR, but is 'read only' in ASR.
Could you make it writeable in ASR as well , please?
Thanks for fixing the Lyrics? tag :)
for 1: will check this, but could you give me some example?
for 2: msr preset is just a service template for msr command. unfortunately the way i've implemented asr doesnt allow to hide it in asr, but i'll write a comment in it that its a service preset. use msr command to create meaningful msr presets, then tick them for autoapplying and/or assign hotkeys to them in asr. its not very intuitive, but its so for historical reasons (msr has been created as asr extension after several years of asr existance).
this version must display slightly more detailed message:
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
Are you certain you've installed the plugin correctly? The dll goes in MusicBee\Plugins while the ARS Presets goes in MusicBee\AppData.
Where/when are you seeing the 'malicious site' warning? The plugin should be downloaded from MediaFire and I've never see a warning such as that. I just did it now and saw no warning.
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I just clicked on the appropriate entry in the plugins section and then on the mediafire link to download. This is the only plugin directing me to ad.fly. I tried some others and they do not direct me to any other site.
The tag backup feature works up to about 100,000 tracks. If the library is larger than that, it doesn't work. Is it possible to support more tracks?
Recently, additional Tagging and Reporting Tools has been reporting an error in invocation when enabled in Preferences. I uninstalled the plugin and tried to download again, perhaps the latest version, from the plugin page, only to be faced with a Malicious Site, usually by ad.fly. Can anyone fix this please?try to close mb, delete file <appdata>\mb_tagtools.settings.xml and start mb again.
The tag backup feature works up to about 100,000 tracks. If the library is larger than that, it doesn't work. Is it possible to support more tracks?what do you mean by "it doesn't work"? what does exactly happen? there is no artificial limit and i cant test it by myself because my library has only 16000 tracks.
The tag backup feature works up to about 100,000 tracks. If the library is larger than that, it doesn't work. Is it possible to support more tracks?what do you mean by "it doesn't work"? what does exactly happen? there is no artificial limit and i cant test it by myself because my library has only 16000 tracks.
Copy/paste selected tags command doesn't work for any file properties. And can you add <Path> & <Filename> too? Currently it only supports <URL> (though it's not working now), so the user has to use virtual tags for those.
- MSR preset doesn't handle escape sequences for special characters properly. Also they don't work via ASR command.i cant reproduce this. * is replaced by \X and # by \# for me.
Regarding this, please add <Folder Name> too. Also it would be great if you can make those three fields (path, folder name, filename that all MB supports) available in other commands as well (copy tag, asr, etc.). I know I can easily construct those using virtual tags, but I'm really short of virtual tag slots.
Another issue: Copy/paste selected tags command doesn't work for any file properties. And can you add <Path> & <Filename> too? Currently it only supports <URL> (though it's not working now), so the user has to use virtual tags for those.file properties are read-only. what do you mean by <URL> is not working? that its read-only? could you give me an example of what you are trying to do?
Regarding this, please add <Folder Name> too. Also it would be great if you can make those three fields (path, folder name, filename that all MB supports) available in other commands as well (copy tag, asr, etc.). I know I can easily construct those using virtual tags, but I'm really short of virtual tag slots.its done
Another issue: Copy/paste selected tags command doesn't work for any file properties. And can you add <Path> & <Filename> too? Currently it only supports <URL> (though it's not working now), so the user has to use virtual tags for those.file properties are read-only. what do you mean by <URL> is not working? that its read-only? could you give me an example of what you are trying to do?
also msr preset is now hidden in asr (i mean uploaded version).
Regarding this, please add <Folder Name> too. Also it would be great if you can make those three fields (path, folder name, filename that all MB supports) available in other commands as well (copy tag, asr, etc.). I know I can easily construct those using virtual tags, but I'm really short of virtual tag slots.its done
Thanks, but you added <filename> and <folder>. <folder> seems <path> that MB supports and still there's no <folder name>. Different field names could confuse users. Can you support the same three fields just as MB does?
So for a file E:\Music\Pop\abc.mp3
Path: E:\Music\Pop
Folder Name: Pop
Filename: abc.mp3Another issue: Copy/paste selected tags command doesn't work for any file properties. And can you add <Path> & <Filename> too? Currently it only supports <URL> (though it's not working now), so the user has to use virtual tags for those.file properties are read-only. what do you mean by <URL> is not working? that its read-only? could you give me an example of what you are trying to do?
Try selecting all file property tags using copy selected tags command and paste it to a text file. It copies nothing.
Also, tag sets don't remember any file property tags. Include some property tags to a set, and if you open the set next time, file property tags are all excluded. Looks like the command doesn't support copying file property tags at all.
Of course they are read-only. I'm using this to get information of tracks or to compare a large number of tracks by pasting it to a text file.
But is it not possible to write Album Gain and Track Gain tags to files?
i mean msr template preset only, not custom msr presets. template preset must be hidden to user doesn't change it accidently.also msr preset is now hidden in asr (i mean uploaded version).
msr presets are not hidden in asr with the latest version. And why are you trying to hide them?
It's very useful to quickly edit the custom text using asr command window. Also if they are hidden, they can't be auto-applied or hotkeyed.
BTW hotkey still doesn't work for msr presets. If I press the hotkey, nothing happens unlike other asr presets.
Something's wrong with tag name. <Tag 1> and <Temp 1> are all shown as <1> in Preset Editor.
msr hotkeys are fixed
I'm still having the carriage return issue and have to keep removing it every time after using the paste selected tags command.
Let me explain what the issue is:
Select 5 tracks> run copy selected tags command for title> paste it to other tracks.
It works fine and the pasted tags have no carriage return in their tag values.
Now paste it to notepad++> copy those five lines> paste it to some tracks.
Now the first four tracks have carriage return character in their values.
Do you see the differences? My request is when pasting selected tags, if the tag has the carriage return character at the end of the value, then remove it when writing the tag.
The reason is I am frequently copying selected tags from notepad++ rather than other tracks.
<1> in preset editor bug persists with the new version. Delete/Import all doesn't make any differences.its fixed.
(https://i.imgur.com/QhbKDjf.png)
its fixed also.msr hotkeys are fixed
Found a bug when running an msr custom preset through asr hotkey command.
Try this
*^(.)b(.)$/$1$2
for
abc
The result should be "ac" and msr works properly but asr outputs "abcc"
The carriage return issue seems to have been reintroduced with copy/paste selected tags command. But for some reason, notepad++ shows it as a BEL character rather than a carriage return. Can you take a look?there is a bell char, because i change carriage returns to bell on copying to clipboard, then on pasting i remove cr's (if any) on pasting, then change bells to crs. its so to preserve crs in lyrics. for me its working fine.I'm still having the carriage return issue and have to keep removing it every time after using the paste selected tags command.
Let me explain what the issue is:
Select 5 tracks> run copy selected tags command for title> paste it to other tracks.
It works fine and the pasted tags have no carriage return in their tag values.
Now paste it to notepad++> copy those five lines> paste it to some tracks.
Now the first four tracks have carriage return character in their values.
Do you see the differences? My request is when pasting selected tags, if the tag has the carriage return character at the end of the value, then remove it when writing the tag.
The reason is I am frequently copying selected tags from notepad++ rather than other tracks.
Does it copy from MB's database rather than from the file?boroda recently made some changes to the <Lyrics?> tag for me. These also weren't successful.
I tried with a file in the library, then it copies lyrics. But for a file not imported to the library it copies nothing.
boroda recently made some changes to the <Lyrics?> tag for me. These also weren't successful.
Does it copy from MB's database rather than from the file?what do you mean by "file not imported to the library"? file in the inbox? or file, which is in a playlist only, but not in mb database?
I tried with a file in the library, then it copies lyrics. But for a file not imported to the library it copies nothing.
Thanks boroda - all is well expect for the column width. It still does not remain persistent.
I've had this issue for some months now too, but haven't reported it as I don't use many features other than the Soundcheck preset.Typically when boroda issues a 'testing' version it doesn't have the persistent windows, etc enabled. When he's satisfied with the test results, he 're-releases' a version that has persistence. Perhaps that's the case this time, but I didn't notice that he was 'testing.' Hence my call-out.
I've had this issue for some months now too, but haven't reported it as I don't use many features other than the Soundcheck preset.Typically when boroda issues a 'testing' version it doesn't have the persistent windows, etc enabled. When he's satisfied with the test results, he 're-releases' a version that has persistence. Perhaps that's the case this time, but I didn't notice that he was 'testing.' Hence my call-out.
You could use Multiple search & replace command instead which doesn't have such restrictions.Thank you.
But for that case, why not use "Change case" command? Just list all words in the box.
Thanks boroda - all is well expect for the column width. It still does not remain persistent.working fine here. but column widths are remembered only when you click 'proceed' button. of course click 'save & close' button after that.
working fine here. but column widths are remembered only when you click 'proceed' button. of course click 'save & close' button after that.I'm pretty sure I've done that, but will certainly do it again today. Thanks.
How is auto rating supposed to work? It writes to the costum fields, but I can't get it to rate.select all files in your library (ctrl+a), define what percentage of your library must have desired rating, setup tag to store autorating (it may be 'rating' tag or custom tag) , then click 'set ratings of selected files' button.
Another bug when running an msr custom preset via asr command.working fine for me:
When both tag 1 & tag 2 are "Lyrics", it doesn't work via asr command with any template. It doesn't change anything while msr command works just fine.
now you don't need to click 'apply' button to remember column widths:Thanks boroda - all is well expect for the column width. It still does not remain persistent.working fine here. but column widths are remembered only when you click 'proceed' button. of course click 'save & close' button after that.
now you don't need to click 'apply' button to remember column widths:Thanks -VERY- much.
How is auto rating supposed to work? It writes to the costum fields, but I can't get it to rate.select all files in your library (ctrl+a), define what percentage of your library must have desired rating, setup tag to store autorating (it may be 'rating' tag or custom tag) , then click 'set ratings of selected files' button.
may be useful for gathering some library statics (in conjunction with ALR functions).
i'll take a look at possible issues. have you any auto library report's presets? all recent changes have been connected to alr.No, I don't have any auto-library report presets.
for plugin versions: open plugin settings, you'll see plugin version at left bottom corner of the settings panel.Ahhh --- good to know. Thanks for pointing that out.
@phred, try this version:So far, so good. MB has been running with the updated version for about 15 minutes. I'll report back if there's a lock up later in the day, but as of right now, it looks like you squashed it.
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
MusicBee v3.3.7016.32512 (Win10.0), 8 Sep 2019 22:42:
System.IO.IOException: Der Prozess kann nicht auf die Datei "D:\Dokumente\Backups\Musicbee Tag Backup\MusicBee - Baseline.bbl" zugreifen, da sie von einem anderen Prozess verwendet wird.
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
bei MusicBeePlugin.BackupType.Load(String fileName, String backupFileExtension)
bei MusicBeePlugin.BackupType.save(String fileName)
bei MusicBeePlugin.BackupIndex.saveBackup(String backupName, String statusbarText, Boolean isAutocreatedParam)
bei MusicBeePlugin.Plugin.regularAutobackup(Object state)
bei System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.TimerQueueTimer.CallCallback()
bei System.Threading.TimerQueueTimer.Fire()
bei System.Threading.TimerQueue.FireNextTimers()
bei System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)
public string CustomFunc_Random(string max_number)
{
return (new Random()).Next(int.Parse(max_number) - 1).ToString("D" + (int)Math.Log10(float.Parse(max_number) + 0.5));
}
static readonly Random randomGen = new Random();
public string CustomFunc_Random(string max_number)
{
return randomGen.Next(int.Parse(max_number) - 1).ToString("D" + (int)Math.Log10(float.Parse(max_number) + 0.5));
}
Hi Boroda. First of all, what a wonderful plugin. Very useful.
Anyway, I tried to use the $Random function and I noticed that it generates a lot of duplicate numbers, so I took the liberty to look at your source code and found how you implemented that.
Your code looks like thisCodepublic string CustomFunc_Random(string max_number)
{
return (new Random()).Next(int.Parse(max_number) - 1).ToString("D" + (int)Math.Log10(float.Parse(max_number) + 0.5));
}
The problem with this is that a Random instance probably works by generating a seed from the current system tick counts or something like that, so if you do a "new Random()" you end up restarting the sequence until the tick count changes.
What I suggest is to store the Random instance in a static field and calling Next on it, like thisCodeThis way the seed gets generated only once and the sequence behaves randomly.static readonly Random randomGen = new Random();
public string CustomFunc_Random(string max_number)
{
return randomGen.Next(int.Parse(max_number) - 1).ToString("D" + (int)Math.Log10(float.Parse(max_number) + 0.5));
}
Also I'm not sure why you do "-1" on the max number, because that makes the generator generate numbers between 0 and max_number-1, so if I put "10" in the function it goes from 0 to 8. Not sure that's what you want but maybe there's a reason I don't know.
I'm probably blind, but how would I easily copy just a part of a tag to another tag? For example, in the <album> "Hôtel Costes, volume 8", I'd like to copy volume 8, or at least 8, to another tag.create own preset, search for:
Thanks in advance!
^(.*?),\s*(.*)$|^.*$
public string CustomFunc_Random(string max_number)
{
return RandomGenerator.Next(int.Parse(max_number) + 1).ToString("D" + (int)Math.Round(Math.Log10(float.Parse(max_number) + 1)) + 0.5);
}
//Edit: okay I solved it myself. I deactivated autobackup and restarted the computer. I guess the baseline file was being used by the autobackup. :)
Hey Boroda,
I just deleted 4000 genre-tags by accident. Luckily I made a tag backup before. But When I click on "open", after selcting the backup, nothing happens... Does it work in the background and needs a lot of time?
After a long wait I just got this error:
...
MusicBee v3.3.7199.32952D (Win10.0), 27 Sep 2019 9:26:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.IOException: The directory is not empty.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound, WIN32_FIND_DATA& data)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at MusicBeePlugin.Plugin.Uninstall()
--- 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 #=zNb5JX7ZJ08AFj0dTBw==.#=zXvQGTro=()
exception is fixed:
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
for asr i don't know why freezing is happened, but i'll to fix this if you can reliably reproduce it.
run the preset in question for 1 test music file. you'll see a series of message boxes with numbers 1, 2, 3, etc. post last number you will see.
and for this version?Before doing this, can I just ask if this should be done in nthe plugin folder or the appdata folder? Haven't realized that there are two folders with the presets.
http://www.mediafire.com/file/ufh99qf34u441n2/mb_TagTools_ASR_debug.zip/file
i suspect that almost any plugin commands will freeze for you (eg. copy tag, change case, etc.). if this is the case, then its worst situation because it means that something went wrong with your windows environment (especially with .net framework).
delete plugins\mb_tagtools.dll, rename backed up mb_tagtools.dll.bak to original mb_tagtools.dll name. or (if you deleted original file) redownload non-debug version from here:
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
unzip mb_tagtools.dll to 'plugins' folder and overwrite existing file.
1st exception can be easily fixed: close mb, then delete <appdata>\mb_tagtools.settings.xml file.
second error means that you have 2 (maybe custom or virtual, but maybe generic) tags with the tag names. plugin won't work in this situation. go to edit> prefs> tags(2) and click 'configure fields' button. find 2 tags with the same name and rename 1 of them.
delete plugins\mb_tagtools.dll, rename backed up mb_tagtools.dll.bak to original mb_tagtools.dll name. or (if you deleted original file) redownload non-debug version from here:
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
unzip mb_tagtools.dll to 'plugins' folder and overwrite existing file.
Hmm, strange, that is precisely what I'm doing. Still, no numbered msg boxes with that new debug version.
delete plugins\mb_tagtools.dll, rename backed up mb_tagtools.dll.bak to original mb_tagtools.dll name. or (if you deleted original file) redownload non-debug version from here:
http://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
unzip mb_tagtools.dll to 'plugins' folder and overwrite existing file.
Hmm, strange, that is precisely what I'm doing. Still, no numbered msg boxes with that new debug version.
excuse me, hasn't been sleeping for 2 days. here is the right one:
http://www.mediafire.com/file/ufh99qf34u441n2/mb_TagTools_ASR_debug.zip/file
archive and .dll names are the same as the 1st time, but its different debug version.
yes, negative values are normal. post here full log, which is mentioned in error message. there is must be at least 1 entry saying "Can't add...".
12/11/2019 11:02:48 PM - 10.0.18362.0 - 3.3.7251.37421P - System.NullReferenceException: Object reference not set to an instance of an object.
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zhW5rhVLmgA5t(Int32 #=zlGZMpsA=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zvesHNF197Ki_(TagCode #=zpXMe84c=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zThGs_SKDXjKl(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, Int32 #=zzn0Oaqw=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zuCWZmkrNFqCNSvZbsA==(String #=zesgHATI=, Int32 #=zzn0Oaqw=)
at MusicBeePlugin.Plugin.GetFileTag(String sourceFileUrl, MetaDataType tagId, Boolean autoAlbumArtist, Boolean normalizeTrackRatingTo0_100Range)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList(Boolean interactive)
at MusicBeePlugin.AutoLibraryReportsCommand.autoCalculate()
at #=z78OeXVV6zcbJKhXa4Q==.#=z_OvZgZCh_RA0(Object #=zxJOcuTQ=)
13/11/2019 11:15:54 AM - 10.0.18362.0 - 3.3.7251.37421P - System.NullReferenceException: Object reference not set to an instance of an object.
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zhW5rhVLmgA5t(Int32 #=zlGZMpsA=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zvesHNF197Ki_(TagCode #=zpXMe84c=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zThGs_SKDXjKl(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, Int32 #=zzn0Oaqw=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zuCWZmkrNFqCNSvZbsA==(String #=zesgHATI=, Int32 #=zzn0Oaqw=)
at MusicBeePlugin.Plugin.GetFileTag(String sourceFileUrl, MetaDataType tagId, Boolean autoAlbumArtist, Boolean normalizeTrackRatingTo0_100Range)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList(Boolean interactive)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
@Bee-liever, could you try this version?@boroda- I know this update was directed to Bee-liever's issues, but I figured I'd try it for mine. Even worse lockup than with 5.2.7214. MB launched and froze. Didn't have the opportunity to click on anything. Back to 5.0.7046 and working well.
https://www.mediafire.com/file/lx6lk42gdeci018/mb_TagTools.dll/file
14/11/2019 8:15:03 AM - 10.0.18362.0 - 3.3.7251.37421P - System.NullReferenceException: Object reference not set to an instance of an object.
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zhW5rhVLmgA5t(Int32 #=zlGZMpsA=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zvesHNF197Ki_(TagCode #=zpXMe84c=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zThGs_SKDXjKl(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, Int32 #=zzn0Oaqw=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zuCWZmkrNFqCNSvZbsA==(String #=zesgHATI=, Int32 #=zzn0Oaqw=)
at MusicBeePlugin.Plugin.GetFileTag(String sourceFileUrl, MetaDataType tagId, Boolean autoAlbumArtist, Boolean normalizeTrackRatingTo0_100Range)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList(Boolean interactive)
at MusicBeePlugin.AutoLibraryReportsCommand.autoCalculate()
at #=z78OeXVV6zcbJKhXa4Q==.#=z_OvZgZCh_RA0(Object #=zxJOcuTQ=)
When I tried to use an ASR preset, it hung before changing anything.i can reproduce this, but only right after mb start. if i wait for several seconds then all is fine.
@phredOkay, I'll try with 5.2.7167 tomorrow. Unless you think I should try the version you just posted for Bee-liever. Unless that's a debug.QuoteWhen I tried to use an ASR preset, it hung before changing anything.i can reproduce this, but only right after mb start. if i wait for several seconds then all is fine.
MusicBee v3.3.7251.37421P (Win10.0), 14 Nov 2019 15:14:
System.NullReferenceException: Object reference not set to an instance of an object.
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zhW5rhVLmgA5t(Int32 #=zlGZMpsA=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zvesHNF197Ki_(TagCode #=zpXMe84c=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zThGs_SKDXjKl(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, Int32 #=zzn0Oaqw=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zuCWZmkrNFqCNSvZbsA==(String #=zesgHATI=, Int32 #=zzn0Oaqw=)
at MusicBeePlugin.Plugin.GetFileTag(String sourceFileUrl, MetaDataType tagId, Boolean autoAlbumArtist, Boolean normalizeTrackRatingTo0_100Range)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList(Boolean interactive)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
14/11/2019 3:57:14 PM - 10.0.18362.0 - 3.3.7251.37421P - System.NullReferenceException: Object reference not set to an instance of an object.
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=z7R5fQlEWA_zekNPRaAFassm4KT6Y.#=zBvjBMt1tQgDq(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zsuw89B8ux0wjALoQ8679GTVJvpgI.#=zM0iWbZHZOpjh(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, #=zb4zx58KH1jMbCbsRe1KWcezvMuc0[] #=zbAKnYPE=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=, StringBuilder #=zKsoWZAs=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zhW5rhVLmgA5t(Int32 #=zlGZMpsA=, #=zT_UiO12$HceYzJV4w2wndYU= #=zUt3Af3Y=)
at #=zfPN9N9ucNejpFsmGK7Yoz5A=.#=zvesHNF197Ki_(TagCode #=zpXMe84c=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zThGs_SKDXjKl(#=zfPN9N9ucNejpFsmGK7Yoz5A= #=zh$Cto0o=, Int32 #=zzn0Oaqw=)
at #=z78OeXVV6zcbJKhXa4Q==.#=zuCWZmkrNFqCNSvZbsA==(String #=zesgHATI=, Int32 #=zzn0Oaqw=)
at MusicBeePlugin.Plugin.GetFileTag(String sourceFileUrl, MetaDataType tagId, Boolean autoAlbumArtist, Boolean normalizeTrackRatingTo0_100Range)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList(Boolean interactive)
at MusicBeePlugin.AutoLibraryReportsCommand.previewTrackList()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
MB 3.3.7257 P and TagTools 5.2.7214 work great!Just tried this combination and it locked up. Killed it, restarted, waited one minute, hard freeze. Killed it, restarted, locked up within five seconds.
It seems that 5.1.7154 is the last version that works for me without locking up MB. Anything more recent than that presents a hard freeze.no, its special mb patch to solve issues when using the plugin. i don't think this patch was initially planned :)
phred, i'll take a more close look at your issue tomorrow.Great - thanks.
phred, do you have any alr presets? do you have asr presets ticked for auto-applying? what happens if you disable all plugins except for at&rt?Using AT&RT 5.2.7214 with MB 3.3.7257 P
I have disabled all plugins except AT&RT, shut down and restarted MB, performed a preset (change case) and ASR showed the changes, but never displayed 'close' or 'save' and only changed one of the left side boxes changed from a tick to a solid box and promptly froze. MB's status bar shows "Changing case: 100% (2 file(s)) read" when it hangs.cant reproduce this and dont have any ideas why this would happen. sorry.
cant reproduce this and dont have any ideas why this would happen. sorry.Thanks for taking a look at it. Since it is working with an older version, I'll keep using that until your next release and see what happens then.
cant reproduce this and dont have any ideas why this would happen. sorry.Thanks for taking a look at it. Since it is working with an older version, I'll keep using that until your next release and see what happens then.
maybe phred can upload the version he has (which is working for him without problems).Happy to help out. Here's the last version that works for me...
maybe phred can upload the version he has (which is working for him without problems).Happy to help out. Here's the last version that works for me...
https://www.mediafire.com/file/noxrurht2m3zpeb/mb_TagTools_5.1.7154_2019-08-03.zip/file
Thanks for the answers & links. No more freezes, it's working fine now.Great to hear it worked. For two reasons - one, your problem is solved. Two, because boroda couldn't reproduce the freezing issue I was having. The fact that you experienced it also, confirms that I'm not as crazy as I thought.
@phred, could you try this version?A test of 5.2.7214 shows no progress in resolving the issue.
http://www.mediafire.com/file/lx6lk42gdeci018/mb_TagTools.dll/file
'delete' these 3 presets, manually delete all files from 'plugins\asr presets' folder, then unzip asr presets from any recent plugin zip and 'import all' presets.@boroda...
@phred, try this version:I'm sorry to report that this is even worse than before. I just about always launch MB in Album View. With the new dll, MB hangs before the artwork even loads.
and this?Sadly no.
yes! i can reproduce ui freezing. will look deeper now.GREAT!
I'm also having problems with the latest version of the plugin and can't seem to find a link to older versions. Can you upload the version you have?@dr0mo-
https://www.mediafire.com/file/lx6lk42gdeci018/mb_TagTools.dll/file
Did a quick two track test and the latest dll seems to be working without any lock-ups. I will have some time later today to test it further, but it's looking good.Follow-up... I used ASR quite a bit yesterday and had no issues whatsoever. Very glad you were able to fix it. Thank you.
new virtual tag function added:
$AddLeadingZeros(number,number_of_didgits_including_leading_zeros): adds leading zeros to number
I'm also having problems with the latest version of the plugin and can't seem to find a link to older versions. Can you upload the version you have?@dr0mo-
Take a look at this new version of the dll that boroda posted. No more freezes. Please give it a try and post the results here.https://www.mediafire.com/file/lx6lk42gdeci018/mb_TagTools.dll/file
If there is no way to automatically run ASR presets at startup would it be possible to add the "if Loved" criteria to the auto-rate tracks functionality so that it could be run at startup? All I'm after is some sort of automatic way for Musicbee to rate my loved tracks so that I can keep my Loves synced between Last.fm, my flac server and my phone.asr presets can't be run automatically on mb startup. they are run if any tag is changed (or if new track(s) is added to the library). but you tick preset to set Loved status if you change rating.
If there is no way to automatically run ASR presets at startup would it be possible to add the "if Loved" criteria to the auto-rate tracks functionality so that it could be run at startup? All I'm after is some sort of automatic way for Musicbee to rate my loved tracks so that I can keep my Loves synced between Last.fm, my flac server and my phone.asr presets can't be run automatically on mb startup. they are run if any tag is changed (or if new track(s) is added to the library). but you tick preset to set Loved status if you change rating.
I have all the presets I created ticked to run automatically. Also, functionally, the last.fm love sync DOES update the tags when it runs but the ASR presets don't reflect this (and run accordingly) when that sync is done. Is there anything that can be done to fix this?this must work. what happens if you run preset manually?
Loved *is* a tag, though it's stored in mb database only. virtual tags are not stored anywhere at all, they are calculated dynamically.If I select a Loved track and run the ASR preset manually it will work. If I Love a track within Musicbee then the rating will update automatically. But when I love a track outside of musicbee the ASR preset doesn't run automatically after the love sync happens at startup.I have all the presets I created ticked to run automatically. Also, functionally, the last.fm love sync DOES update the tags when it runs but the ASR presets don't reflect this (and run accordingly) when that sync is done. Is there anything that can be done to fix this?this must work. what happens if you run preset manually?
but how do you love track outside mb? 'love' is mb database tag, you can't update it outside mb.
I have also been getting an error with this plugin. MusicBee will disable it when it starts.close mb, then delete file <mb appdata>\mb_tagtools.settings.xml
If I try to manually start it I will get this ERROR (https://drive.google.com/open?id=10yWbMR9q1tZ_hiy_f5NNO9MBbJkhEzWW)
Both portable and installed versions 3.3. and 3.4 on win 10. (3.3.7310 & 3.3.7261)
Where does it put its log in the portable version?
For some reason, it randomly stopped showing up in the drop-down menu. I reinstalled and saw that all the files were still there... I replaced everything and now I'm getting this error every time I open MusicBee: "Some tag names are duplicated"this means that plugin requires that all tag names must be unique. go to edit> prefs> tags(2)> configure fields. make all tag names unique.
Hellocreate virtual tag with formula $Date(<Episode Date>,MM-dd) and use it in ASR.
I believe there used to be a help page for advanced search and replace but I can no longer find it.
Anyway I would really like to automatically add episode date (not time!) to the start of the existing podcast title. I understand I can use something like this:
$Date(<Episode Date>,MM-dd) <Title> in organizing podcasts, but I cannot seem to be able to use $Date(<Episode Date>,MM-dd) in the ASR.
I set it to auto-apply, but it keeps looping (each time ASR has added the episode to the start of the tag, (the tag is updated),it re-applies, and again, and again, ...)
How do I prevent this?
MusicBee v3.3.7261.33657P (Win10.0), 7 Feb 2020 17:31:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'E:\MusicBeePortable\Library\Exported Track Lists\TEST.files\stylesheet.css'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at MusicBeePlugin.HtmlDocument.writeHeader()
at MusicBeePlugin.LibraryReportsCommand.exportTrackList()
at MusicBeePlugin.LibraryReportsCommand.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Any update on the auto update tagging loop?the asr presets which you sent me didn't contain your custom preset. your preset uses <tag 1>, <tag 2> and <tag 3> customizable tags. what do you assign them to? i suspect that <tag 1> and <tag 3> are the same in your case. if this is the case, then this error is obvious.
what happens if you save report to other location, e.g. to desktop?Makes no difference, same error
yes, i can reproduce this. it's strange that nobody has reported this error earlier. will check this.what happens if you save report to other location, e.g. to desktop?Makes no difference, same error
Any update on the auto update tagging loop?
I'm trying to use the Tools -> Advanced Tagging Tools -> Library Reports -> Export and as save as "HTML-Document" but always get this error :CodeMusicBee v3.3.7261.33657P (Win10.0), 7 Feb 2020 17:31:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'E:\MusicBeePortable\Library\Exported Track Lists\TEST.files\stylesheet.css'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at MusicBeePlugin.HtmlDocument.writeHeader()
at MusicBeePlugin.LibraryReportsCommand.exportTrackList()
at MusicBeePlugin.LibraryReportsCommand.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
There is no existing stylesheet at "TEST.files\stylesheet.css" !
Any update on the auto update tagging loop?
i cant reproduce this.
(https://www.mediafire.com/convkey/e8b6/fa8zqvhd2wr0pgk6g.jpg) (http://www.mediafire.com/view/fa8zqvhd2wr0pgk)
also, i cant understand how this could happen. if 2 source tags are different from destination tag, then reapplying preset wont repeat anything (if (+) checkbox next to tag 3 is unticked).
Please find it here: ftp://hjem.fjelsten.dk/Public/Episodetitle.ASRPreset.xml
Have you downloaded my preset I linked to:yes.Please find it here: ftp://hjem.fjelsten.dk/Public/Episodetitle.ASRPreset.xml
I think the issue may be related to it first reads the title, and then adds to the title again.but preset you sent me doesn't use title tag. if it reads title and then writes title, then i don't think i can do something about this. try to write to a custom tag instead of title.
First of all, I'd like to say that this plugin is amazing and I'm so thankful for your work!i've added support for csv files.
However, I feel there could be a few more export options, such as CSV and XML!
CSV is actually pretty easy to do myself with a little search and replace, but it would be a cool feature to have :)
...Aaron Neville is only a featured artist on tracks 3, 4, 5, and 11 of that album.Hmmm ... And I'm showing him as the featured artist on eleven of the twelve tracks. I guess I'm off to do some research...
With you going to all the trouble of changing the tags I thought, you know, that you might want to put the correct info in the tags while your doing it? :oI have corrected the tags. Thanks Bee-liever. Much appreciated.
i've fixed this error (and couple other minor errors):I understand your comment that 'extract' won't remove and I'm fine with that.
Does the 'error' that you fixed address the 'guest artist' issue?I have now had the time to test the new release and it addresses the Guest Artist tag. This will make copying the featured artist from the title to the guest artist tag a quick and easy task. I've got a little more that 400 tracks that will be fixed in a jiffy.
I'll have time to test it later today, but what to get clarification.
make sure that you've reimported all asr presets. if bug won't be fixed after reimporting, select asr preset you are using, click 'copy' button and post a screenshot of preset edit dialog (don't save preset copy).Reimporting the presets didn't fix the issue. Here's the preset:
hmm. this preset should work, but it's not the latest version. redownload plugin and reimport all presets.My file worked for you?
you have entered '&' in <custom text 2> instead of ';'GRRRR! Thanks so much for finding that. I'm glad I attached that screenshot.
no, '&' is default delimiter, but maybe i must change it.Ahhh! I feel much better now. I did notice on the other 'featuring' presets that they also had "&" for Custom 2.
it doesn't matter if track is in the inbox or in the library. also, ticked asr presets are auto-applied if new track is added to inbox or to library.Thank you.
Okay, maybe I'm missing something. I downloaded the latest update and installed it. How do I get the presets to populate? I typed in "feat" and nothing shows up.Make sure you've installed the plugin properly. The .dll goes in the plugin directory under the MB directory. And the -entire- ASR Presets directory goes under the Plugins directory.
Working now. Thanks!Glad to hear it was something simple.
Hi all,
I 'm looking to implement some way to copy MusicBee ratings, mainly in FLAC Files, to Traktor compatible rating tag. Half based ratings are disabled on MusicBee
On Mp3Tag I create a RATING WMP tag, which value is replaced based on RATING tag set on MusicBee. This works ok and Traktor reads correctly ratings.
(https://i.imgur.com/dHHi916.jpg)
Is there anyway to get this to work within Advanced Search & Replace and regular expressions?
In MusicBee I've created a custom Tag, named RATING WMP, as a number.
Thanks in advance.
How to get rid of this annoying error? I searched the forum, but I understand nothing of what I found about it.plugin wont work correctly if you see this message. go to mb menu> edit> prefs> tags (1)> custom tags> define new tags> configure fields. make sure that all tag names are unique.
"Some tag names are duplicated". Plugin is not properly initialized.
Sorry, I have no clue.
I had to turn off that plugin because of this error.
Hopefully, I can find the answer because this is a really helpful and great plugin.
https://i.imgur.com/mbMCrct.jpgsuggest that you are looking in some subfolder of the folder where you saved html. find html file in upper folder.
Is there a way to print exactly the way the Library Report shows album artist, album, artwork when I run "preview"? See image attached.
If I try to do any or the exports HTML, CSV, M3U, TXT I don't get the same results. Under CSV, M3U, TXT i lose the album thumbnail. If I save under any of the HTML I get the Album thumbnails but no album artist or album, just the JPG info under the thumbnail.
The way the "Library Reports" generates the list before any export is what I am hoping to be able to print. It's alphabetized and simple, just album, artist and thumbnail.
Thank you
I've searched and searched on the form and I think my keyword is too short and vague to find what I'm looking for - so I apologize in advance if this has been answered fifty million times already but ....
I am looking to update and split my artists field using search and replace in Additional Tagging & Reporting Tools - I have the commas working and the "/" and the "&" but the word "and" or "And" is causing issues with a Name like "Nancy Anderson" - it's changing and splitting it into "Nancy" and "erson". I was thinking I could just do it by case, but some of the tags have "And" not "and" for the word.
Thanks for any help - I'm sure I am missing something that is already there, but I can't figure it out.
I've searched and searched on the form and I think my keyword is too short and vague to find what I'm looking for - so I apologize in advance if this has been answered fifty million times already but ....
I am looking to update and split my artists field using search and replace in Additional Tagging & Reporting Tools - I have the commas working and the "/" and the "&" but the word "and" or "And" is causing issues with a Name like "Nancy Anderson" - it's changing and splitting it into "Nancy" and "erson". I was thinking I could just do it by case, but some of the tags have "And" not "and" for the word.
Thanks for any help - I'm sure I am missing something that is already there, but I can't figure it out.
$If($Len(<Composer>)=8,T,F)
$If($Len(<Composer>)>0,T,F)
$If($Len(<Composer>)>7,T,F)
$If($Len(<Composer>)>9,T,F)
$If($Len(<Composer>)>10,T,F)
$If(0$Len(<Composer>)>79,T,F)
downloaded the ASR plugin and copied the files to the Plugins folder.Make sure there is sub-directory "ASR Presets" exists in the Plugins directory. And that mb_TagTools.dll exists in the Plugins directory.
downloaded the ASR plugin and copied the files to the Plugins folder.Make sure there is sub-directory "ASR Presets" exists in the Plugins directory. And that mb_TagTools.dll exists in the Plugins directory.
Does "additional tagging tools" show up under Preferences > Plugins? If so what happens when you click on "Configure"?
You might to wait for the plugin's author to check in with suggestions. But note that he hasn't been on the forum since May and is (was) usually very responsive.
I seem to be able to get it to work for a while by uninstalling/deleting/re-starting pc and reloading, but I haven't worked out exactly how. I'll keep playing around.Needless to say, but I'll say it anyway, you shouldn't have to do that to get it to work. Boroda always gives the ZIP a file name of "latest version." What version are you running (Preferences > Plugins > additional tagging tools > configure and it's in the lower left corner. I'm using 5.2.7357 on MB v3.4.x, but it was working fine for me going back to MB v2.5.x.
Could anyone enlighten me on what 'TOY' stands for?It couldn't possibly be one of these, could it? :-}
TOY Toys R Us Inc. (stock symbol)
TOY Time of Year
TOY Thinking Of You
TOY Theater of Youth (Buffalo, NY)
TOY Trademark of Youth (band)
TOY Toyama, Japan - Toyama (Airport Code)
I'll give you a C for effort.I reject the C and will take an F instead. I cheated. I lied. I stole from the Internet.
Anybody has knowledge to share that he thinks deserves an E?
I reject the C and will take an F instead. I cheated. I lied. I stole from the Internet.
I guess the advantage of doing it with the actual tags though is that is is saved to the music file which might be an advantage.Both have their own advantage/disadvantage.
What does TOY mean regarding the Additional Tagging & Reporting Tools?
I guess the advantage of doing it with the actual tags though is that is is saved to the music file which might be an advantage.Both have their own advantage/disadvantage.
If you decide on using custom tags for it I am sure some users experienced with the Additional Tagging Tool can help you out.
It has a lot of presets build-in b.t.w., you could try one that fits the bill the most and adjust it to your requirements.
But I couldn't really get it to work properly.Just curious, how many artists are we talking about here?
But I couldn't really get it to work properly.Just curious, how many artists are we talking about here?
Hey! Complete noobie here. How do I go about downloading and installing the plugin? I don't see a link for the most recent version or anything and there's quite a lot of posts to sift through!On the official add on page afaik:
Thanks!Hey! Complete noobie here. How do I go about downloading and installing the plugin? I don't see a link for the most recent version or anything and there's quite a lot of posts to sift through!On the official add on page afaik:
https://getmusicbee.com/addons/plugins/49/additional-tagging-amp-reporting-tools/
c.
Not to dampen your spirit, but the developer of this plugin hasn't been on the forum since last May.Ah well that's tragic! It's not a suuper big deal at least since you can use some functions to trim the first two and last digit off, at least! I was just curious if there was a reason for the extra characters.
I don't think you can do it in one step. You'll have to use the preset "TOY: Copy tag command" to move <title> to <album> and then use one of the "remove" presets. There are a few that might work, but you'll have to test them to see which does exactly what you want. And DO NOT do a mass change until you're certain it's working as expected.
And to @boroda, may I put this to a wishlist?Please let us know how it worked.
Please let us know how it worked.
Boroda hasn't been on the forum since last May, so I don't know what will happen with your request.
Oh, I hope he's ok!I have send him a PM a couple of weeks (probably months) ago, that should get forwarded to his email, but I got no response from that either.
I have send him a PM a couple of weeks (probably months) ago, that should get forwarded to his email, but I got no response from that either.
Let's hope he's O.K.
Or, if he is just done with MusicBee it would be helpful if he could state that.
Oh, impossible to not think about Covid... :'(No, he is Russian, he's probably tough.
I'm not sure I can think of anything else to try.Nor can I. Hopefully someone else will have an idea. Unfortunately the developer of this plugin has not been on the forum since last May.
Are there any guides on how to make reports using this tool? I'd like to have some basic reports such as: most played songs; most played artists etc etcHave you read the aptly-named Readme (https://getmusicbee.com/addons/plugins/49/additional-tagging-amp-reporting-tools/)?
Are there any guides on how to make reports using this tool? I'd like to have some basic reports such as: most played songs; most played artists etc etcHave you read the aptly-named Readme (https://getmusicbee.com/addons/plugins/49/additional-tagging-amp-reporting-tools/)?
Ok so I opened up my MusicBee today and out of nowhere the Additional Tagging and Reporting Tools plugin is just not working or even showing up in the menu. If I go to the tools menu, Additional Tagging and Reporting Tools does not appear underneath "Tagging Tools" like it normally does. How do I fix this? I've lost all of my custom presets because of this :-/
Have you looked in the plugins directory to confirm that mb_TagTools.dll exists? If it doesn't try reinstalling the plugin.
I checked and it was no longer in the directory, but after reinstalling, it has already happened again. HmmmmmWhitelist the entire MB directory in your AV/Security software.
there is a file called "mb_TagTools.Settings.xml" in the AppData folder. Deleted that file, moved the entry for tagtools from the musicbee3settings.ini file, and deleted the mb_tagtools.dll in Plugins. Then restarted musicbee and re-added the plugin from the zip file and all is working again
Edit: It seems like I misunderstood and Word Breaks don't force a capital, is it possible to add this feature (for example first letter after a bracket is always capitalised)?capitalize all words in tag (untick exceptions), then tick exception back, change casing to "Title Case" and click "Reapply" button to apply new changed rule to "New tag value" column (NOT to original tag values) without saving tags to files. if you are satisfied with preview click "Proceed" button.
Hi,this won't work directly, but you can define virtual tag with any formula and use this virtual tag in asr.
re this:
https://getmusicbee.com/forum/index.php?topic=3833.msg140371#msg140371
Does arithemtic operations work with Search & Replace ?
I'm attempting (on Tag1 = 160)
Step 1
Search for:
^(.*)
Replace with:
$Div($1,2)
Results in:
"$Div($1,2)"
not
80
which I was attempting for...
Where's my brainfart here... does S&R not work with the arithmetic operations...? or is my syntax messed...?
Churs.
c.
Ah!ASR is "Advanced Search & Replace" (plugin command). MSR is "Multiple Search & Replace" (multi-step search & replace, another plugin command).
Since you're back, what does ASR stand for?
I asked this on the forum a while back, and nobody knew the answer…
ASR is "Advanced Search & Replace" (plugin command). MSR is "Multiple Search & Replace" (multi-step search & replace, another plugin command).I'm sorry, I was confused.
EDIT: Disregard.it's strange. $Len() returns just number without leading zeros and it works fine for me. but $If(0$Len(<Composer>)>10,T,F) alway results in F in my case.
For the last few days, I've been trying to use the plugin's $Len() function with the built-in $If() function and have been running into an issue.
Let's say $Len(<Composer>) is 8.Code...all should return "T," which they do.$If($Len(<Composer>)=8,T,F)
$If($Len(<Composer>)>0,T,F)
$If($Len(<Composer>)>7,T,F)Code...correctly returns "F."$If($Len(<Composer>)>9,T,F)
Code...incorrectly returns "T." From then on, all numbers up to 79 return "T" when then they should be false. If I insert a leading zero ahead of $Len()...$If($Len(<Composer>)>10,T,F)
Code...I get the correct result "F."$If(0$Len(<Composer>)>79,T,F)
Is $Len() is returning the number as a string?
I meant to say: what does TOY mean?it's for historical reasons. initially ASR had no auto-applying capability and some asr presets like "copy tag", "swap tags" seemed to be toys, because corresponding dedicated plugin commands were much more powerful. all these presets were created just for demonstration of ASR capabilities. now only "swap tags" asr preset is just a useless toy, while other "toy" resets may be useful.
it's for historical reasons.Ah! So it literally means toy.
I think I have a bug with $Random? It keeps adding a prefix and suffix segment when I ask for a number.thanks for bug report. it' fixed. i'll upload fixed version later.
If I do anything 2 or lower, it will print D0#5 (# being the random number)
If I do anything up to 30 it will print D1<number>5.
If I do anything up to 315 it will print D2<number>5.
etc.
So for example, if I do "$Random(100) and the value is 57, it will print "D2575"
What's going on here?
Thanks for ending the mystery boroda. I'm one of the "everybody else" who lost brain cells trying to figure out what T O Y meant.it's for historical reasons.Ah! So it literally means toy.
Me (and everybody else) were searching for the meaning behind it as it being some abbreviation.
Just so you know, some brain-cells have been sacrificed because of this ;-)
by the way, you are not the only guy who asked why these presets are named "toy" :) . i want to change prefix for these presets (which duplicate other plugin commands) to something else, while keeping them together in preset list (presets are sorted alphabetically, that's why i need prefix). could you suggest something other than "toy: "?it's for historical reasons.Ah! So it literally means toy.
Me (and everybody else) were searching for the meaning behind it as it being some abbreviation.
Just so you know, some brain-cells have been sacrificed because of this ;-)
could you suggest something other than "toy: "?I think I'd better leave that to native English speakers…?
Would this plugin have the capability of combining two different play counts? I've spent time between foobar and iTunes and it's not looking good on finding a way to combine the two diff play count tags.you can use arithmetic functions in virtual tags.
(https://i.imgur.com/5fobTlQ.png)
Edit: So I found this option here:
(https://i.imgur.com/2gcLQnp.png)
but this doesn't actually combine (add one into the other, 1+2=3) it just takes both of the tags and incorporates them into 1 tag. Would it be possible to get an option to do this?
edit: if anyone ever comes across this, you can use a program titled Mp3Tag to combine two different play counts.
Let's hope he's OK...i wish i could pin this advice on the topic: try to close mb, delete file <mb appdata folder>\mb_TagTools.Settings.xml and start mb again.
On another bug note - I'm using the latest portable build of Musicbee (3.4.7764) and every time I try to enable the latest version of mb_tagtools I get an error telling me: "Unable to initialise plugin: mb_TagTools.dll Exception has been thrown by the target of an invocation." - anyone know how to get round this and get the tools working again? I miss the support it gives!
i wish i could pin this advice on the topic: try to close mb, delete file <mb appdata folder>\mb_TagTools.Settings.xml and start mb again.
you will need mb latest patch to use new plugin version:Perhaps it would be good to specify the minimum version needed?
https://getmusicbee.com/patches/MusicBee34_Patched.zip
Could the 'new tag value' get some easier to read contrast?:+1
Hi guys,
Can anyone help me with the syntax in Advanced Search & Replace to move featured artists from the title and to the Artist tag?
before:
Title = Cool Song feat. Artist X, Artist Y & Artist Z
Artist = Superstar
after
Title = Cool Song
Artist = Superstar feat. Artist X, Artist Y & Artist Z
Thanks!
Hi guys,
Can anyone help me with the syntax in Advanced Search & Replace to move featured artists from the title and to the Artist tag?
before:
Title = Cool Song feat. Artist X, Artist Y & Artist Z
Artist = Superstar
after
Title = Cool Song
Artist = Superstar feat. Artist X, Artist Y & Artist Z
Thanks!
the only tutorial is readme on add-on page. i'm too lazy to write complete tutorial, but i'm ready to help you here.
i think you need the opposite to what you wrote. grouping fields must be <album artist>,<album>,<loved> and calculated field must be 'average count(<loved>/<url>)'. save 'average count' to custom tag (or assign virtual tag function id) only if <loved>='L'
Hi guys,
Can anyone help me with the syntax in Advanced Search & Replace to move featured artists from the title and to the Artist tag?
before:
Title = Cool Song feat. Artist X, Artist Y & Artist Z
Artist = Superstar
after
Title = Cool Song
Artist = Superstar feat. Artist X, Artist Y & Artist Z
Thanks!
Do you not have the ASR preset available that would assist in this?
Hi, thanks for the response. I have played around with the presets but haven't been able to modify them in a way to get the desired outcome. The closest I've gotten is using the "Extract featuring artists from track time and add them to the "Artist" tag. This will copy the featured artists and put them in the Artist tag, but I have a few things I'd like to change about the result and can't figure out how.
1. Remove the featured artist from the title rather than copy them
2. Have it work if there are ( ) around the featured artists or not. Right now it requires parenthesis to work
3. Move the featured artists to the Display Artist tag, including having feat. before the artists
I know I'm close, but each time I try different modifications to the code, it seems to get worse. lol.
Step 1
Search: \sfeat\.\s([\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist
Step 2
Search: \,|\&|and in tag: Artist
Replace: ; in tag: Artist
Step 3
Search: (\sfeat\.\s[\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist (displayed)
Step 4
Search: \sfeat\.\s([\s\S]*?$) in tag: Title
Replace: (leave blank) in tag: Title
I've never used the ASR tool for this purpose, so you'll likely have to tweak the below.CodeStep 1
Search: \sfeat\.\s([\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist
Step 2
Search: \,|\&|and in tag: Artist
Replace: ; in tag: Artist
Step 3
Search: (\sfeat\.\s[\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist (displayed)
Step 4
Search: \sfeat\.\s([\s\S]*?$) in tag: Title
Replace: (leave blank) in tag: Title
Thanks for posting this! It does correctly remove the "feat. Artist A" from the title. Unfortunately the resulting Artist fields now show the original artist and then the entire song title afterwards.
Is there any sort of guide on the coding language? I'm trying to back my way into understanding but it's been tough.
Step 1
Search: ^[\s\S]*?\sfeat\.\s([\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist
Step 3
Search: ^[\s\S]*?(\sfeat\.\s[\s\S]*?$) in tag: Title
Replace: $1 in tag: (check the box) Artist (displayed)
Hello, I'm trying out ASR for the first time but maybe I'm missing something completely. I want to find tracks with a certain phrase in their title and then add a track number to that track.
...
This doesn't seem to work. Am I just way off here? Is there any easier way to accomplish this?
My idea is to split the artists with a "Seach & Replace" searching for commas in the artist field and replacing it with semicolons to have the artists separated since now I have them with a comma (for example "Gunna, Playboi Carti"). But the problem is I don't know how to automate the process of changing the display artist field to make it only the first artist, that is, only "Gunna". This way I have read in other posts that last.fm will read the display artist which will be "Gunna" and will not read "Gunna, Playboi Carti".
Is there a way to automate this process with the Additional Tagging & Reporting plugin?
Step 1
Search: \, in tag: Artist
Replace: ; in tag: Artist
Step 2
Search: \,[\s\S]*$ in tag: Artist (displayed)
Replace: (leave blank) in tag: Artist (displayed)
Try this.CodeStep 1
Search: \, in tag: Artist
Replace: ; in tag: Artist
Step 2
Search: \,[\s\S]*$ in tag: Artist (displayed)
Replace: (leave blank) in tag: Artist (displayed)
I have managed to do step 1 with the normal musicbee search & replace. But for step 2, I have no experience of Advanced Search & Replace and have tried this in various ways but got nothing. What I want is for the program to take the first ARTIST field (since there are now two fields, an ARTIST field for each artist) and copy it into the DISPLAY ARTIST field. Thank you
...since now I have them with a comma (for example "Gunna, Playboi Carti")
16/09/2021 19:22:34 - 10.0.19043.0 - 3.4.7805.33439D - System.OutOfMemoryException: Generata eccezione di tipo 'System.OutOfMemoryException'.
in System.Collections.Generic.SortedSet`1.AddIfNotPresent(T item)
in System.Collections.Generic.TreeSet`1.AddIfNotPresent(T item)
in System.Collections.Generic.SortedDictionary`2.Add(TKey key, TValue value)
in MusicBeePlugin.BackupType.setValue(String valueParam, Int32 trackId, Int32 tagId)
in MusicBeePlugin.BackupIndex.saveBackup(String backupName, String statusbarText, Boolean isAutocreatedParam)
in MusicBeePlugin.BackupIndex.saveBackupAsync(Object parameters)
in #=zlFwaJ1S_oYR_8J8laA==.#=zyNO4kjvnVZVY6HOBVD_9GiRtxZo6os9OGA==(Object #=zK7i1NeE=)
I've been exploring the Additional Taggint Tools but have not been able to copy between tags.Have you been using the plugin before on other functions that do work o.k.?
Are these custom tags written to the files or to MB's database?My guess is that this is the issue. From what I can tell, a lot of people creating custom tags don't understand the difference between saving to MB's database and re-purposing an unused tag.
My guess is that this is the issue. From what I can tell, a lot of people creating custom tags don't understand the difference between saving to MB's database and re-purposing an unused tag.Still, surely both should work fine here?
I'm not in front of it right now, but isn't there another button like "save all" or "save and close" that you have to click?The tags are written in real-time. The "save all" and "save all and close" buttons save the AS&R settings that may have been changed during the session. For instance - it saves the column width of the preview window. Or the AS&R window location on the desktop. At least that's been my experience.
Still, surely both should work fine here?I'm not sure. I never use the "save to mb's database" for custom tags. But it seemed like a good possibility as to a cause.
I only asked the question to possibly narrow down what the issue could be here.
Hi
I'd like to copy everything before (or after) a certain character to another tag, using only a single step. Would this be possible to do via Multiple S&R? This title could serve as an example:
Concerto no. 4 in E major, RV 263a∶ II. Largo
I'd like to copy everything before the ":" to the <set subtitle>. As of now, I use the Copy Tags, and then the ATRT command "remove after...", but I'd like to everything in a single step if possible.
All help much appreciated!
^(.+):[\s\S]*?$
$1
^[\s\S]*?:\s
You have to use the Advanced Search & Replace.
An expression you could use in the "Search for:" input box is...Code...and "Replace with:"^(.+):[\s\S]*?$
Code$1
Then, in Step 2, put...Code...into the first input box and leave the second one blank.^[\s\S]*?:\s
but then when I use the preset, it can't find any files. I haven't used the advanced search and replace before (quite obviously...), so I'd appreciate any nudge in the right direction regarding what I'm doing wrong.
but then when I use the preset, it can't find any files.First select the files to be changed > then open AS&R > select the preset > preview (to make sure it doing what you want) > apply > save.
You need to set the tags you want to manipulate using the dropdown forms on the right side of the pop-up window.
First select the files to be changed > then open AS&R > select the preset > preview (to make sure it doing what you want) > apply > save.Sorry, I still can't get it to work. In the Preset Editor, I'm guessing that I should set <Tag 1> to writable? And should I change "corresponds to" from <Null> to something else? Further, I guess I don't need <Tag 2>, nor <Custom text 1>? I do have a file selected, but when I click Preview, it's empty.
DO NOT check the box next to the preset as that will AUTOMATICALLY apply the present to everything in your library.
I do have a file selected, but when I click Preview, it's empty.If you're not seeing anything in the preview, and you have file(s) selected, that means nothing in the selection meets the criteria of the preset's 'search' entry.
If you're not seeing anything in the preview, and you have file(s) selected, that means nothing in the selection meets the criteria of the preset's 'search' entry.Ok, so here's a file that I'm trying to use the preset on:
I get nothing.Correct.
You need to set the tags you want to manipulate using the dropdown forms on the right side of the pop-up window.Right now they're showing as <Temp 1> when they should be the tag you're looking to change.
Sorry, I still can't get it to work. In the Preset Editor, I'm guessing that I should set <Tag 1> to writable? And should I change "corresponds to" from <Null> to something else? Further, I guess I don't need <Tag 2>, nor <Custom text 1>? I do have a file selected, but when I click Preview, it's empty.
I think you don't need what you have in Step 2 as you've got search criteria but you don't have a replace with criteria.The blank line in 2 makes it so that what matches the regex in line 1 gets blanked.
The blank line in 2 makes it so that what matches the regex in line 1 gets blanked.Thanks for the clarification.
And whatabout the area above this, the "<Tag 1> is Not used/Writable/Readable corresponds to ..."? I'm trying using both nothing, or filling in writable and then e.g. <Title>. Thanks for helping out you too Hiccup, as you can see, I'm way in over my head :)I have it set to 'not used', which will grey out all other fields in that top panel.
Instead, it turns out that the file I tried to use had a different colon sign (in ascii I guess?)Far as I know the colon is identical between utf8 and ascii, so I am guessing something else was going on.
Far as I know the colon is identical between utf8 and ascii, so I am guessing something else was going on.
Anyway, great that you have it working now.
Strange, right? This is the colon from Boom Boom followed by the one from the file. Obviously different, but I assume they're both are just alternate versions of the colon and not different charactersInteresting indeed.
∶ :
Strange, right? This is the colon from Boom Boom followed by the one from the file. Obviously different, but I assume they're both are just alternate versions of the colon and not different characters
∶ :
In any way, perhaps it would be better to have a preset where one could enter the breaking character in <custom text>?
It looks like this is the same problem I encountered before where it was not possible to use a function or tag as second or third parameter for other functions.You are talking about this I guess?:
If you have any suggestion...
Basically I want to remove the name of the album artist in the album field...Do you mind providing an example of one of the album names you would like changed?
But when I do $RxReplace(<Album>,<Album Artist>,"DQ")...
If I'm getting this right, you want the album name Encore [Eminem] to change to Encore [DQ]? Is that right?In this thread it is described what DQ is aiming to achieve:
But when I do $RxReplace(<Album>,<Album Artist>,"DQ") it inserts 'DQ' between every two characters.Back here, are you supposed to be using $RxReplace or $Replace?
It looks like this is the same problem I encountered before where it was not possible to use a function or tag as second or third parameter for other functions.
$RxReplace($Replace(<Album title>,$Split(<Album Artist>,",",1),DQ),"(( - )?DQ( - | |’s)?)","")Does that work well? I'm getting a fail at "lbum title>,$Split(<Album Artist>,",",1),DQ),"(( - )?DQ( - | |’s)?)","")"
It made a lot of backups the last months. A while ago it start giving this fault.
For now i disabled (auto) backup settings in the Additional Tagging Tools menu.
Problem still not solved. Same fault message!
I'd love some help on how to swap parts of a tag :)
I have about 150 Mazurkas by Chopin, with the <work> like this:
Mazurka in A minor, Op. 7, No. 2
However, by this, they will list according to key, and not opus which is what I'd like. Is there anyway, perhaps using regexp, to get the above example to
Mazurka Op. 7 No. 2 in A minor
Whatever happens to commas etc is fine, I can search and replace later. Is this possible? The different files will of course have different keys and opus numbers :/ I found the Swap command but I don't think it'll be able to do this, at least not from what I've tried so far.
Any help appreciated!
Regex for moving relatively fixed text around is quite simple to learn.
In fact, you could do what you're needing with just opening and closing parentheses, a period and the plus symbol.
Wrapping a phrase with parentheses means you're grabbing that phrase to place elsewhere. The period means "match any character." And the plus symbol stands for "continue matching whatever the previous character is."
Here is an expression (https://regex101.com/r/P4oUsL/1) that solves your request, but I would advise taking the time to look at it and attempt to understand how the text substitution is accomplished. This way, instead of waiting assistance in the future, you can throw something together yourself (and then ask for assistance if you get stuck.)
In Change Case I couldn't manage to realize the following examples:
T'Aggio → t'Aggio
(https://i.imgur.com/mYaMhyK.png)
No matter what I have tried, it didn't change at all. Same as L'Amour → l'Amour didn't work either.
I have put t in the exception list, and ' in the word splitter list. Any idea?
What a fantastic answer - kind, helpful and educational at the same time! I'll have a look and start trying out future ideas by myself first. Top of the line respone @The Incredible Boom Boom!
OK so I just manually change them since there are not a lot of them
But I am wondering to achieve this in advanced search and replace. However I couldn't figure out what to use in regular expressions for setting upper case or lower case in "replace" field. The only guide for case change in this forum is not clear with the regular expressions.
In Change Case I couldn't manage to realize the following examples:
T'Aggio → t'Aggio
No matter what I have tried, it didn't change at all. Same as L'Amour → l'Amour didn't work either.
I have put t in the exception list, and ' in the word splitter list. Any idea?
MusicBee v3.4.8033.18564D (Win10.0), 10 feb 2022 10:57:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.SettingsPlugin.InitializeComponent()
at MusicBeePlugin.SettingsPlugin..ctor(Plugin TagToolsPluginParam, PluginInfo aboutParam)
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 #=zMnhegC3cZoGqJc9MnQ==.#=zHNzzNWE=(IntPtr #=zznrCYSH69sZI)
Make sure your presets are in the correct directory. They belong in \AppData\ASR Presets. They do not belong in the plugin directoryThank you, will move them!
OK so I just manually change them since there are not a lot of them
But I am wondering to achieve this in advanced search and replace. However I couldn't figure out what to use in regular expressions for setting upper case or lower case in "replace" field. The only guide for case change in this forum is not clear with the regular expressions.
Unfortunately, it doesn't look like MB supports case conversion replacement with regular expressions, so you'd either have to use another tool, like MP3TAG, or search for all tracks matching the regex \s\w\'\w+ and then use the built-in Search and Replace tool and go through each letter.
In Change Case I couldn't manage to realize the following examples:
T'Aggio → t'Aggio
No matter what I have tried, it didn't change at all. Same as L'Amour → l'Amour didn't work either.
I have put t in the exception list, and ' in the word splitter list. Any idea?
I'm neither Italian nor French, but are you sure that the word after the apostrophe from your examples indeed should be in upper case to begin with?
(I have some doubts about that)
Is there a way of getting ATRT to be able to edit Instruments: Performer and similar tags?I think the only one who could implement that would be boroda, the plugin's developer. And unfortunately he hasn't been active on the forum for a number of months.
Is there a way of getting ATRT to be able to edit Instruments: Performer and similar tags?'Instruments: Performer' is a virtual tag used by MusicBee for displaying purposes.
'Instruments: Performer' is a virtual tag used by MusicBee for displaying purposes.
If you edit 'Artists: Performer', the results should be reflected in 'Instruments: Performer'.
…the only preset I found that could write to the virtual tags was the Example: Write result of virtual tag expression defined in <Custom text 1> to <Tag 2>. In the rest, these are simply not showing up in the dropdown menu. Probably doing something wrong, but what? :)Presets are there to make some common operations available, but more importantly, they have the purpose to be an example and can be used as a template (copy them) to create a preset that does specifically what you want.
Presets are there to make some common operations available, but more importantly, they have the purpose to be an example and can be used as a template (copy them) to create a preset that does specifically what you want.Absolutely, I'm with you on this. However, if I reformulate my question, how come that some presets (on my setup, only Example: Write result of virtual tag expression defined in <Custom text 1> to <Tag 2>) list all virtual tags in the <tag 1> drop-down, while all others don't? For example, I'm trying to use your recent preset for adding values to tags, but Artist:Performer simply isn't there.
So you would either need to learn how to create such a preset yourself, or ask others to help you with it.
I'm sorry, my computer says she's tired.Let her sleep :-*
I'm sure other members can provide some suggestions. Else I'll take a look in a few days.
I think you want "Artists" there or one of the variations. Experiment to see which one gives the results you want.
EDIT: I just tried it on mine an Artists: Artist seems to give the results you want.
Are you certain that you have AT&RT installed in the proper directories?
The dll needs to be in \MusicBee\Plugins
The entire ASR Presets directory needs to be in \MusicBee\AppData.
Installation and Usage
Extract content of archive to plugins sub-folder of MusicBee installation folder (e.g. to "C:\Program Files (x86)\MusicBee\Plugins"). See "Tools> Tagging Tools" menu. To configure plugin go to "Edit> Preferences> Plugins".
Just updated to 3.5beta and AT&RT vanished.Are you using the latest version of the plugin?
Just updated to 3.5beta and AT&RT vanished.Are you using the latest version of the plugin?
(mine shows 5.2.7865, I think it is from around nov/dec last year)
Downloaded from plugin homepage "mb_TagTools_2021-07-11.zip"It's a bit confusing to me what is the latest version and when it was released.
Updated MB to 3.5.8150 and AT&RT to 5.2.7865 but still disappears after restart.Unfortunately you may have to wait for boroda (plugin developer) to take a look at this. Even more unfortunately, boroda hasn't been on the forum for quite some time.
Unfortunately you may have to wait for boroda (plugin developer) to take a look at this. Even more unfortunately, boroda hasn't been on the forum for quite some time.
is there any documentation for this thing aside from the readme? I haven't read this thread as it is quite long.What you see is what you get.
also the readme hints that tags can be applied when new files are added to the inbox, does anyone know how to configure that?If you tick the box for a preset, it gets automatically applied.
also the readme hints that tags can be applied when new files are added to the inbox, does anyone know how to configure that?If you tick the box for a preset, it gets automatically applied.
so there is no way to apply it just to inbox files?Not that I have found.
Did anyone encounter issues with old ASR presets after switching to 3.5 ?While I'm sorry that I can't help with the issue you're experiencing, I can say with certainty that all the original presets, and the few custom ones that I created, are working as expected with 3.5.
While I'm sorry that I can't help with the issue you're experiencing, I can say with certainly that all the original presets, and the few custom ones that I created, are working as expected with 3.5.Thanks for the feedback! I only tested a few, but couldn't produce any issues either... makes it all the more odd why it would suddenly break completely...
While I'm sorry that I can't help with the issue you're experiencing, I can say with certainly that all the original presets, and the few custom ones that I created, are working as expected with 3.5.Could you do me a favour and test the default ASR combine script (i.e. "Combine tags '<Tag 1>', '<Tag 2>' placing between them <Custom text 1> and write result in '<Tag 3>'.") with a mixture of rated tracks, and set <Tag 1> as from 'Rating' [ideally on a mix of formats as well (but, multiples of the same - as I even see mixed behaviour on tracks from the very same album... and flac/vorbis seems to be the culprit here... )] and then do a preview in ASR window.
Could you do me a favour and test the default ASR combine script (i.e. "Combine tags '<Tag 1>', '<Tag 2>' placing between them <Custom text 1> and write result in '<Tag 3>'.") with a mixture of rated tracks, and set <Tag 1> as from 'Rating' [ideally on a mix of formats as well (but, multiples of the same - as I even see mixed behaviour on tracks from the very same album... and flac/vorbis seems to be the culprit here... )] and then do a preview in ASR window.Sorry, but I do not rate my tracks. Nor do I have any flac tracks.
Sorry, but I do not rate my tracks. Nor do I have any flac tracks.Thanks & no worries!
Thanks & no worries!
If anyone else could have a try to see if this is repeatable behaviour, that would be awesome, just to see if this is a general issue or a local one...
Cheers.
c.
Tried that preset combining ratings with a few different number fields and had no problems.Thanks a lot for double checking!!
Also couldn't see any differences between your regex fields and what I'm using straight from ATRT
Just to confirm - this was with .flac files as well, correct ?flac, mp3 and ogg and various combinations of them.
flac, mp3 and ogg and various combinations of them.Thanks muchly for testing. (which Advanced Tag & Reporting Tool version are you using, out of curiousity ? Not 100% certain if I am on the latest version Boroda published... and that could be a last option to try - as that's so odd that I get a random mix of absolute as well as properly parsed (star count) values from rating fields.)
Not 100% certain if I am on the latest version Boroda published...Not certain it's the latest one either but I'm using 5.2.7863
Not certain it's the latest one either but I'm using 5.2.7863Same one in use here. I assume it is the latest boroda published.
I believe the most recent version is 5.2.7865Not 100% certain if I am on the latest version Boroda published...Not certain it's the latest one either but I'm using 5.2.7863
I'm using the "Additional Tagging Tools" Backup and restore. I'm trying to create a new baseline.Thanks. I've never been happy with using AT&RT's backup function. Despite every else that boroda has done with that plugin, the back was always sketchy in its performance. I admit that I haven't tried it in years, so if I have some time later today, I'll test it.
Hi guys,
Can anyone help me with the syntax in Advanced Search & Replace to move featured artists from the title and to the Artist tag?
before:
Title = Cool Song feat. Artist X, Artist Y & Artist Z
Artist = Superstar
after
Title = Cool Song
Artist = Superstar feat. Artist X, Artist Y & Artist Z
Thanks!
save 'average count' to custom tag (or assign virtual tag function id) only if <loved>='L'
save 'average count' to custom tag (or assign virtual tag function id) only if <loved>='L'and *include* loved in grouping.
Hello, I'm trying out ASR for the first time but maybe I'm missing something completely. I want to find tracks with a certain phrase in their title and then add a track number to that track.you better try mb native search & replace or plugins multiple search & replace. asr wont help you in this case.
(https://i.imgur.com/gJ9MzZK.png)
This doesn't seem to work. Am I just way off here? Is there any easier way to accomplish this?
I already made a post in this board but I did not specify the plugin with which I suppose this process could be automated, that's why I suppose the topic was moved to the questions board.step 1: search for , replace by ; for tag artist
My idea is to split the artists with a "Seach & Replace" searching for commas in the artist field and replacing it with semicolons to have the artists separated since now I have them with a comma (for example "Gunna, Playboi Carti"). But the problem is I don't know how to automate the process of changing the display artist field to make it only the first artist, that is, only "Gunna". This way I have read in other posts that last.fm will read the display artist which will be "Gunna" and will not read "Gunna, Playboi Carti".
Is there a way to automate this process with the Additional Tagging & Reporting plugin?
I hope someone can help me, thanks!
Hello, I'm getting Out of Memory Exception when I try to Backup tags for all tracks.try not to back up artworks
I have 32 Gb of RAM and about 22% is being used when this happens.
The process starts, then between 30-40 % it halts giving error.Code16/09/2021 19:22:34 - 10.0.19043.0 - 3.4.7805.33439D - System.OutOfMemoryException: Generata eccezione di tipo 'System.OutOfMemoryException'.
in System.Collections.Generic.SortedSet`1.AddIfNotPresent(T item)
in System.Collections.Generic.TreeSet`1.AddIfNotPresent(T item)
in System.Collections.Generic.SortedDictionary`2.Add(TKey key, TValue value)
in MusicBeePlugin.BackupType.setValue(String valueParam, Int32 trackId, Int32 tagId)
in MusicBeePlugin.BackupIndex.saveBackup(String backupName, String statusbarText, Boolean isAutocreatedParam)
in MusicBeePlugin.BackupIndex.saveBackupAsync(Object parameters)
in #=zlFwaJ1S_oYR_8J8laA==.#=zyNO4kjvnVZVY6HOBVD_9GiRtxZo6os9OGA==(Object #=zK7i1NeE=)
(https://images4.imagebam.com/a5/f7/5d/ME3MGQC_o.jpg)
Can you help me in calculating the total duration based on track length and play count? (Track duration x play count)redownload latest plugin version, use formula: $MulDuration(<Time>,<Play Count>)
I'm not sure how to do this. Tried this so far but this doesn't work: $AddDuration(<Play Count>,<Time>)
I want it to show 0:00 (or nothing) when the play count is 0, since, well, no time was spent listening to the song.
As well, I want it to show the sum of the time listened to all highlighted tracks, so if I highlight an album of 100 minutes where I've listened to every track 10 times, for example, it will show 1000 minutes time listened.
I made a post about it here https://getmusicbee.com/forum/index.php?topic=35695.msg195187#msg195187 but it might be better asking here.
Hitry multiple search & replace, you can achieve this in 2 steps.
I'd like to copy everything before (or after) a certain character to another tag, using only a single step. Would this be possible to do via Multiple S&R? This title could serve as an example:
Concerto no. 4 in E major, RV 263a∶ II. Largo
I'd like to copy everything before the ":" to the <set subtitle>. As of now, I use the Copy Tags, and then the ATRT command "remove after...", but I'd like to everything in a single step if possible.
All help much appreciated!
untick "or only words" optionIn Change Case I couldn't manage to realize the following examples:
T'Aggio → t'Aggio
(https://i.imgur.com/mYaMhyK.png)
No matter what I have tried, it didn't change at all. Same as L'Amour → l'Amour didn't work either.
I have put t in the exception list, and ' in the word splitter list. Any idea?
But I am wondering to achieve this in advanced search and replace. However I couldn't figure out what to use in regular expressions for setting upper case or lower case in "replace" field. The only guide for case change in this forum is not clear with the regular expressions.redownload latest plugin version, use "$Capitalize(string)" or "$UpperCase(string)" or "$LowerCase(string)" in virtual tag or ASR preset.
Is there a way of getting ATRT to be able to edit Instruments: Performer and similar tags?use in search pattern .*(\0\u0002.*) to find performer(s) in artist tag and plugin's functions \@null[[]]\@char[[2]] in replace pattern to write performer(s) in artist tag.
not at all. mb api uses string for artists where individual artists are separated by U+0000 char and performers names start with U+0002 char.Is there a way of getting ATRT to be able to edit Instruments: Performer and similar tags?'Instruments: Performer' is a virtual tag used by MusicBee for displaying purposes.
If you edit 'Artists: Performer', the results should be reflected in 'Instruments: Performer'.
Artist:Performer is some kind of virtual tag, so it's read-only. to *write* Artist:Performer to Artist tag add \@null[[]]\@char[[3]] to the beginning of performer name (if you use ASR).Presets are there to make some common operations available, but more importantly, they have the purpose to be an example and can be used as a template (copy them) to create a preset that does specifically what you want.Absolutely, I'm with you on this. However, if I reformulate my question, how come that some presets (on my setup, only Example: Write result of virtual tag expression defined in <Custom text 1> to <Tag 2>) list all virtual tags in the <tag 1> drop-down, while all others don't? For example, I'm trying to use your recent preset for adding values to tags, but Artist:Performer simply isn't there.
So you would either need to learn how to create such a preset yourself, or ask others to help you with it.
I use additional tagging tools so much that I forget that it's a plugin and not part of MusicBee. In fact, I was close to ditching MusicBee until I found it. The stuff that works is <Chef's Kiss>. To answer the questions;try to disable backing up artworks, probably one or several tracks have corrupted artworks. corrupted artworks very frequently cause 'out of memory' errors (in .net in general, not only in at&rt plugin).
I'm never certain about anything, so I removed and reinstalled the latest version.
I think my most recent successful backup was in the beginning of 2021, so it worked at one time.
I use the other features of Advanced tagging constantly. Especially "Advanced Find and Replace," "Reports," and "copy / Paste tags."
I was poking around and created a temporary library to test with. That one worked perfectly. I must be running into a limit based on my library size. It would explain why it worked just fine for a while; my library continues to grow.
use "$Capitalize(string)" or "$UpperCase(string)" or "$LowerCase(string)" in virtual tag or ASR preset.1.
1.i'll remove $UpperCase(string) or $LowerCase(string) functions from plugin.
$Upper and $Lower are already available by default in MusicBee.
Are these two new ones doing something different?
2.sentence case.
$Capitalise is doing 'sentence case', correct?
Not 'word case'.
Perhaps it would be good to have both options available.
The following error was thrown today when invoking Advanced Tagging Tools;Searching the forum before posting is always a good idea.
So what the 'script' is meant to do:
- it's based on one of the default combine scripts
- it's meant to take the rating (star) value [with half-stars] as numerical [not the actual numerical rating value - which it always just worked, regardless of the format - since id3 & vorbis have different absolute rating values, I assumed this was some magic musicbee api bit inbetween that was converting this correctly...]
- then, take a numeric value from a second [custom] field (call 'Energy' that could have values from 0 -10)
- then combine the 2 with a ' - ' inbetween and write them to 2 other fields (so '10 - 5' would be the resulting tag value for a 5 star rated track, with an Energy value of 10...)
What it now does:
- the energy value gets always written correctly still
As for the weird bits:
- the star value now gets written as:
- sometimes the numerical value (only on flac files, I have not seen this happen on id3 tags, so a vorbis rating of 60 for a 3 star track, 20 for a 1 star track, etc pp)
- sometimes the rating value gets written as 1 (regardless of the actual rating / star value)
- on top, IF the rating value gets written as 1, the [custom text 1] ' - ' always gets written twice [minus a ' '...], resulting in '10 - - 1' [instead of '10 - 5']
So, in the above example track [with 10 & 5 respectively] I may end up with '10 - - 1' or, ' 10 - 100'
I'm a tad lost there.
flac, mp3 and ogg and various combinations of them.Thanks muchly for testing. (which Advanced Tag & Reporting Tool version are you using, out of curiousity ? Not 100% certain if I am on the latest version Boroda published... and that could be a last option to try - as that's so odd that I get a random mix of absolute as well as properly parsed (star count) values from rating fields.)
Which gives me a work around - in case this helps anyone elseMeh, called it too early. It's still happening on flac files that have been sent to library too. It's so utterly odd, altogether and that on the 10 files I randomly tested with with, sending to library seemed to bypass the issue, but now it's back when I try to run the script on files I haven't fully tagged yet.... :/
Could the 'new tag value' get some easier to read contrast?:bump
(https://i.imgur.com/4BIs6bY.png)
try this versionIt doesn't look good:
Besides my personal dislike for alternating row colours (a useless and distracting feature in my opinion), I am also not sure why the first line has a different (darker) background colour than the other lines?blue line in your screenshot is "selected" or "current" line. this line can't be edited in asr anyway, so it doesn't make much sense to highlight it, but i'm not sure if this highlighting can be easily disabled (this behavior is either default or the only one for .net "grid view" control). i'll leave it as is for now.
new stable version (minor improvements and bug fixes)Thanks boroda.
new stable version (minor improvements and bug fixes):
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
Just updated to 3.5beta and AT&RT vanished. Clicking "configure" gives
MusicBee v3.5.8146.38239D (Win10.0), 25 Apr 2022 8:21:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.SettingsPlugin.InitializeComponent()
at MusicBeePlugin.SettingsPlugin..ctor(Plugin TagToolsPluginParam, PluginInfo aboutParam)
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 #=zFATgFjBdBS9YrWXGWg==.#=zhhGt68w=(IntPtr #=zTJWEEq3dlH_v)
Tried disabling all other plugins (last.fm (already disabled, don't use), cd art display (already disabled, don't use), lyrics reloaded, media control, taskbar tidbits, theater mode) and restarting but still no AT&RT and same error message. Tried complete uninstall (clicked uninstall, closed MB, deleted AT&RT files from plugin folder) and reinstall. Works until I restart MB and then vanishes and gives same error.
Current error messagedo you see message "System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation" on plugin initialization (on mb startup if plugin is enabled)?
MusicBee v3.5.8157.35511D (Win10.0), 22 Jun 2022 10:16:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.SettingsPlugin.InitializeComponent()
at MusicBeePlugin.SettingsPlugin..ctor(Plugin TagToolsPluginParam, PluginInfo aboutParam)
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 #=zCJ5ZapFPlFl7hsQxGA==.#=zFyIrpRo=(IntPtr #=z5gr9m3RiL7fx)
https://www.mediafire.com/file/null/mb_TagTools_latest.zip/file@boroda: this doesn't look like a valid MediaFire link. And comes up with:
sorry, here is correct link:Thanks for correcting it.
i can reproduce this. will look at this issue tommorow.Not an "emergency" so take your time. Thanks.
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/fileThanks once again, boroda. Working just fine now.
Current error messagedo you see message "System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation" on plugin initialization (on mb startup if plugin is enabled)?
MusicBee v3.5.8157.35511D (Win10.0), 22 Jun 2022 10:16:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.SettingsPlugin.InitializeComponent()
at MusicBeePlugin.SettingsPlugin..ctor(Plugin TagToolsPluginParam, PluginInfo aboutParam)
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 #=zCJ5ZapFPlFl7hsQxGA==.#=zFyIrpRo=(IntPtr #=z5gr9m3RiL7fx)
are you using portable or installer mb?
can you upload (or pm) your mb_TagTools.Settings.xml? i'll try to reproduce the bug.
@iamambuser
try this version:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I'm trying to replace ";" in the "Artist (displayed)" tag in all songs with ",".I am guessing there is something particular about 'Artist (displayed)'.
@hiccup, it's actually 'Displayed Artist' tag. I've changed its name due to localization issues at the time i made this functionality.Ok. But Baba's screenshot says: 'Artist (displayed)'
$Add is performed by musicbee not this plugin. I have unlocked the other postSorry Steven. I thought the function was something that boroda added.
hmm... hiccup, i don't see any explanations on ATT functions in that post.
It appears that every Virtual Tag that contains non-native functions gets stripped down to just the native ones.Can you tell why they don't work anymore?
…i mean (this note is just for consistency with other function descriptions in your sheet) that these are valid usage of functions:…That's a good observation.
The table and the explanations are updated:all seems to be fine, but i'd replaced a couple of description strings like "(eg. 'year', 'original year', 'date added', etc.)" to "(eg. <Year>, <Original Year>, <Date Added>, etc.)". i mean to use tag names as they are defined in template editor. just for clarity.
https://getmusicbee.com/forum/index.php?topic=35868.msg196257#msg196257
Let me know if you see something wrong…
PSforget them. these functions have been requested only once, i don't remember who has requested them, and for what purpose. maybe i'll remove them in future at all.
I didn't create explanations or examples on the logarithmic stuff.
It's unknown territory for me, and I couldn't find other posts containing formulas that use them.
And people that do want to use them probably already know what they are doing.
P.S.I don't mind, but I don't think it's up to me to decide.
Considering the value and the popularity of AT&RT, shouldn't this thread be made sticky?
The table and the explanations are updated:also, i think it's worth to add examples with tags as parameters for string functions, something like:
https://getmusicbee.com/forum/index.php?topic=35868.msg196257#msg196257
Let me know if you see something wrong…
all seems to be fine, but i'd replaced a couple of description strings like "(eg. 'year', 'original year', 'date added', etc.)" to "(eg. <Year>, <Original Year>, <Date Added>, etc.)". i mean to use tag names as they are defined in template editor. just for clarity.I agree.
also, i think it's worth to add examples with tags as parameters for string functions, something like:I left out such examples for functions that seem very obvious.
$SentenceCase(string)
capitalises the first letter of the first word in a string, e.g. $SentenceCase(<Title>)
$SubDuration(duration1,duration2)
returns the sum of two durations.
please change descpiption from "sum" to "subtraction" or "difference".done
It appears that every Virtual Tag that contains non-native functions gets stripped down to just the native ones.Can you tell why they don't work anymore?
I would expect that those functions are now seamlessly processed by MusicBee?
(except for Xor, which is now gone)
P.S.
Considering the value and the popularity of AT&RT, shouldn't this thread be made sticky?
Considering the value and the popularity of AT&RT, shouldn't this thread be made sticky?Done
Problem with Additional Tagging Tools and MB 3.5.8247for the reference for future users. it was very strange bug, i can't explain it, i even don't know if it was related to plugin or to something else. @adac has solved this problem by deleting mb library (only .mbl file, not music tracks) and recreating library from scratch. probably mb library was corrupted.
There seems to be a problem with the artists (multiple field). After restarting Musicbee, the newly entered fields are deleted again.
Apparently only guest artists are copied, not performers
Apparently the problem only occurs with "Copy Tags To Clipboard" (Additional Tagging Tools). There are no problems with manual copying (display as text).
Problem with Additional Tagging Tools and MB 3.5.8247for the reference for future users. it was very strange bug, i can't explain it, i even don't know if it was related to plugin or to something else. @adac has solved this problem by deleting mb library (only .mbl file, not music tracks) and recreating library from scratch. probably mb library was corrupted.
There seems to be a problem with the artists (multiple field). After restarting Musicbee, the newly entered fields are deleted again.
Apparently only guest artists are copied, not performers
Apparently the problem only occurs with "Copy Tags To Clipboard" (Additional Tagging Tools). There are no problems with manual copying (display as text).
could you post here search and replace patterns for your solution? i've almost managed to do what you want, but for single-line tags, eg. album name, etc, but not for lyrics, which is multi-line.
do you need to determine that lyrics contain all searched words or any of the words?
Wow thanks for this.
I've changed one thing when I've imported it, in "Step 1" I changed the tag from "URL" to "Lyrics" but when I do this and I do a preview it seems to want to change test in the lyrics tag and not the title?
What I thought would happen is:
Search lyrics tag for word(s)
Find files that match
Change Title from "Song Title" to "Song Title Explicit"
What seems to happen is that it matches all files and adds "\@eval[[$If($TagContainsAnyString($1,Lyrics,\@1), [Explicit],)]]" to the lyrics tag?
redownload plugin:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
presets are not changed.
redownload plugin:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
presets are not changed.
The only other thing I've noticed is that in the newer version I now get an error if I try and load "Library Reports". I know it's unrelated and it also happened in the version from earlier this month but if I roll back to the 2021 plugin it works.working fine here. first check that unzipped all files from plugin package, especially "Missing Artwork.png". also, what version of mb are you using (installer, portable, store) and how you have installed plugin (manually copying to <mb folder>\plugins\ or using "add plugin" button in edit> prefs> plugins)?
MusicBee v3.4.8033.18564D
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at MusicBeePlugin.LibraryReportsCommand.initializeForm()
at MusicBeePlugin.LibraryReportsCommand..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.libraryReportsEventHandler(Object sender, EventArgs e)
at #=ztdEURO9iLJryE.#=za3znDkU=(Object #=z09rm0$E=, EventArgs #=z5EKpxKY=)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
The only other thing I've noticed is that in the newer version I now get an error if I try and load "Library Reports". I know it's unrelated and it also happened in the version from earlier this month but if I roll back to the 2021 plugin it works.working fine here. first check that unzipped all files from plugin package, especially "Missing Artwork.png". also, what version of mb are you using (installer, portable, store) and how you have installed plugin (manually copying to <mb folder>\plugins\ or using "add plugin" button in edit> prefs> plugins)?
MusicBee v3.4.8033.18564D
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at MusicBeePlugin.LibraryReportsCommand.initializeForm()
at MusicBeePlugin.LibraryReportsCommand..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.libraryReportsEventHandler(Object sender, EventArgs e)
at #=ztdEURO9iLJryE.#=za3znDkU=(Object #=z09rm0$E=, EventArgs #=z5EKpxKY=)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
So it is doing something a little strange.
It seems that it does want to change the names of titles where the album begins with a T. It also looks like it does it where there is a comma (,) in the title and what happens is that
So for example:
Track = 1-1. Artist - Album beginning with T - Song name
Original Title = Song Name
New title tag then = Song name$If($TagContainsAnyString(<file path>)
But in the file path, the separator \ between Artist and Album has been replaced and the "T" at the beginning of the album is $he
So, if the path was \artist\Thealbum
The script adds this to the title and changes it to \artist$healbum
If that makes sense?
It also looks like it is trying to replace T in the Artist name too?
I've tried deleting the files from AppData\Roaming\MusicBee\Pluginsit was a bug, plugin was always looking for "Missing Artwork.png" in "<mb installation path>\Plugins" folder. this didn't work if users install plugin by ''add plugin" button in prefs (because plugin is installed to "<AppData>\Plugins" folder in this case). i've embedded "MissingArtwork.png" into plugin .dll, so this must be fixed now.
Could it be that the script is getting confused?
I can see that
$TagContainsAnyString(<URL>,TagName,string1|string2|etc.): returns "T" if tag
contains any of the strings separated by |, otherwise returns "F".
TagName must be written without angle brackets.
I think it is getting mixed up when a "T" already exists in the URL?
I've tried deleting the files from AppData\Roaming\MusicBee\Pluginsit was a bug, plugin was always looking for "Missing Artwork.png" in "<mb installation path>\Plugins" folder. this didn't work if users install plugin by ''add plugin" button in prefs (because plugin is installed to "<AppData>\Plugins" folder in this case). i've embedded "MissingArtwork.png" into plugin .dll, so this must be fixed now.Could it be that the script is getting confused?
I can see that
$TagContainsAnyString(<URL>,TagName,string1|string2|etc.): returns "T" if tag
contains any of the strings separated by |, otherwise returns "F".
TagName must be written without angle brackets.
I think it is getting mixed up when a "T" already exists in the URL?
no, it's another bug. seems to be just legacy and buggy part of code. its fixed. also i've changed $1 to "$1" for URL in presets to take into account commas in file paths (commas also delimit function parameters).
fixed plugin:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
updated presets:
https://www.mediafire.com/file/0z4dorrpvc0myhg/Add_text_%2527%2527%255BExplicit%255D%2527%2527_to_track_title_if_lyrics_contain_all_words_entered_in_%255BCustom_text_1%255D_and_separated_by_%2523.ASR_Preset.xml/file
https://www.mediafire.com/file/xjg0u3hhblp554h/Add_text_%2527%2527%255BExplicit%255D%2527%2527_to_track_title_if_lyrics_contain_any_of_the_words_entered_in_%255BCustom_text_1%255D_and_separated_by_%2523.ASR_Preset.xml/file
delete old 2 presets before importing new ones to avoid preset duplicating.
also, i've added 2 new functions to plugin:Code$TagContainsAnyString("<URL>",tag_name,string1|string2|etc.): returns "T" if tag
contains any of the strings separated by |, otherwise returns "F".
tag_name must be written without angle brackets,
e.g. $TagContainsAnyString("<URL>",Title,a|an|the)
$TagContainsAllStrings("<URL>",tag_name,string1|string2|etc.): returns "T" if tag
contains all strings separated by |, otherwise returns "F".
One last thing I've found. Is there anyway that when the explicit preset is scanning the files, if the word "Explicit" already exists in the title, it skips it?presets already skips " [Explicit]" at the end of title (notice a space before "[Explicit]"). maybe this space is the problem? or do you want to skip [Explicit] in the middle of the title?
One last thing I've found. Is there anyway that when the explicit preset is scanning the files, if the word "Explicit" already exists in the title, it skips it?presets already skips " [Explicit]" at the end of title (notice a space before "[Explicit]"). maybe this space is the problem? or do you want to skip [Explicit] in the middle of the title?
yes, it's another serious bug in ASR, which even is not directly related to your ASR presets.
fixed plugin:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
fixed presets (delete old 2 presets before importing new presets):
https://www.mediafire.com/file/vb7re29q060oaed/Add_text_%2527%2527%255BExplicit%255D%2527%2527_to_%255BTag_1%255D_if_lyrics_contain_all_words_entered_in_%255BCustom_text_1%255D_and_separated_by_%2523.ASR_Preset.xml/file
https://www.mediafire.com/file/gmd3v3fzgv06zs0/Add_text_%2527%2527%255BExplicit%255D%2527%2527_to_%255BTag_1%255D_if_lyrics_contain_any_of_the_words_entered_in_%255BCustom_text_1%255D_and_separated_by_%2523.ASR_Preset.xml/file
yes, but i've mistaken, quotes around <URL> tag must not be used, they don't work at all, and all is working just fine without them.
but I may have come across another bug (so sorry!)i cant reproduce plugin crashes using these settings. try to: close mb, delete mb_TagTools.Settings, start mb again, and adjust ASR settings from scratch.
If I set "Auto apply present only if track is contained in playlist" to a smart playlist and I also set "Autoapply ticked presets at startup" and tick this present, it seems that the plug in crashes? I think it is still there at start up, as some auto library stats I use still show, but it doesn't appear in the menu and it doesn't seem to change the tags.
but I may have come across another bug (so sorry!)i cant reproduce plugin crashes using these settings. try to: close mb, delete mb_TagTools.Settings, start mb again, and adjust ASR settings from scratch.
If I set "Auto apply present only if track is contained in playlist" to a smart playlist and I also set "Autoapply ticked presets at startup" and tick this present, it seems that the plug in crashes? I think it is still there at start up, as some auto library stats I use still show, but it doesn't appear in the menu and it doesn't seem to change the tags.
i thinks it's just a combination of 2 known issues (internal mb issue and plugin issue), each of which separately is not very important to fix it. roughly speaking, you click mb "tools" menu before plugin's submenu registration (and plugin's submenu won't be ever registered in this case). i've moved plugin's submenu registration to the beginning of plugin initialization (before auto-applying asr presets at startup).
try fixed plugin. it's worth to wait 1-2 sec. before clicking mb menu on mb startup in any case.
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
One question, when does the plug in change the tags? Will it rescan the playlists or does something else need to be done for it to check the playlist and/or library so it can check any new files added?If you tick the box to the left of the desired preset, it will automatically apply the preset to all files that meet the criteria. Otherwise you must select the files > open ASR > select the preset > preview > apply.
One question, when does the plug in change the tags? Will it rescan the playlists or does something else need to be done for it to check the playlist and/or library so it can check any new files added?asr auto-applies ticked presets if "changed" file meet the criteria (as phred has written) directly on file change. "file change" is either any change of its tag(s), if this tag change is not made by asr itself (to avoid infinite loops), or moving file from inbox to library, or just adding new file to the library.
One question, when does the plug in change the tags? Will it rescan the playlists or does something else need to be done for it to check the playlist and/or library so it can check any new files added?asr auto-applies ticked presets if "changed" file meet the criteria (as phred has written) directly on file change. "file change" is either any change of its tag(s), if this tag change is not made by asr itself (to avoid infinite loops), or moving file from inbox to library, or just adding new file to the library.
i would recommend you not to auto-apply asr presets on mb startup. it's slower that:
1st manually apply required presets to files that belong to required playlist (select playlist in the left navigator panel to show only tracks from that playlist in the main panel, and select all tracks from playlist (ctrl+A))
2nd auto-apply required presets on "tag changes" (this will also auto-apply presets on adding new tracks to the library), if "changed files" belong to that (auto)playlist
i've made auto-applying asr presets slightly faster, not sure if it's noticeable:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
...or is it a simplified example?It's a vastly simplified example (what the grumpy StackOverflow people would call "Minimal, Complete, and Verifiable"). :)
btw, are you using "Multiple Search & Replace" to create this ASR preset? function "\@replace" had been created only as backend for MSR. it's better to use MSR (convenient frontend) for such tasks.I was using ASR (that's the more convenient frontend, isn't it?) - MSR is almost impossible to use as the UI input-fields don't seem to allow simple cursor movement with the <Left>/<Right> keys, so editing is a lost cause. (The ASR input fields work fine, so that's the best one for me. I have no idea why the MSR input is so difficult - maybe I adjusted the keyboard settings in MB and it interferes with your UI?)
I was using ASR (that's the more convenient frontend, isn't it?) - MSR is almost impossible to use as the UI input-fields don't seem to allow simple cursor movement with the <Left>/<Right> keys, so editing is a lost cause. (The ASR input fields work fine, so that's the best one for me. I have no idea why the MSR input is so difficult - maybe I adjusted the keyboard settings in MB and it interferes with your UI?)it's strange, because <left>/<right> keys are working fine for me in msr.
To be completely fair, what I'm really looking for is a function which is the opposite of @lc (I need roman numerals in all upper-case, after using @tc on the rest of the text). There doesn't seem to be an all upper-case function (is there?), so I'm using @replace as an awkward workaround.\@uc was missing only because i was thinking it wouldn't be needed to anyone. not a big deal, it's just couple of new lines of code in plugin:
...you can use any regexes in the second parameter of \@replace (in "Custom text 1" in your case), e.g. something like \@replace[[$1;;*(\\d)/A]], which replaces all digits by "A"...Nice to know, except your example (typed literally) doesn't seem to work (the title is returned as blank). Not sure what I could be doing wrong, as I simply copy/pasted your regex directly into MSR. :-\
\@uc was missing only because i was thinking it wouldn't be needed to anyone... i've also added asr preset "Example: 'Change case' command - UPPER CASE" as an example....umm.... doesn't seem to be working. Downloaded the new version from your link, found the new ASR preset, but it doesn't seem to work: it's literally replaced by "\@uc[[movement iii;;]]". @lc works as usual.
it's strange, because <left>/<right> keys are working fine for me in msr.I discovered that I had set "Playback: Skip Forward 5 seconds" in MB to the <Right> key and Back 5 seconds to the <Left> key, and that messes up your input fields (only in that MSR listview form). Deleting those hotkeys allows the fields/keys to work properly. Weird. At least that's one mystery solved. ::)
Nice to know, except your example (typed literally) doesn't seem to work (the title is returned as blank). Not sure what I could be doing wrong, as I simply copy/pasted your regex directly into MSR. :-\no, this example is for use in asr preset. msr do all escaping for you automatically, type usual regexes in msr, i.e. the same example for msr is:
...umm.... doesn't seem to be working. Downloaded the new version from your link, found the new ASR preset, but it doesn't seem to work: it's literally replaced by "\@uc[[movement iii;;]]". @lc works as usual.hmm... it seems that you haven't updated plugin .dll, only asr presets.
...umm.... doesn't seem to be working. Downloaded the new version from your link, found the new ASR preset, but it doesn't seem to work: it's literally replaced by "\@uc[[movement iii;;]]". @lc works as usual.sorry, it's me who haven't updated plugin .dll in plugin .zip :) redownload plugin from the same link.
msr do all escaping for you automaticallyAh, that explains that. I actually searched through all 177 pages of this thread before I posted originally, and the "documentation" for \@replace amounts to a single example when you first added it, no other details. Thanks.
hmm... it seems that you haven't updated plugin .dll...Ok, the most recent one from 28-Aug now works properly, the previous one from a few hours ago did not work - maybe the mediafire link needed flushing.
I actually searched through all 177 pages of this thread before I posted originally, and the "documentation" for \@replace amounts to a single example when you first added it, no other details.it's because this is the service function for use by msr only, i've documented some more "generic" asr functions (which can be useful not only for preinstalled presets, but for custom presets also) on the 1st post on this topic.
Both of them do add the featured artist(s) to Guest Artist as expected.it's strange that this ever has been working for you this way. copy required preset and erase search/replace patterns in step 3. save the copy and use it instead of the original preset. your custom presets (including copies of original presets) won't be deleted/overwritten on plugin update.
But both of them now remove the featured artist(s) from the title while previously they were left as part of the title.
The first of the two leaves a "(" as part of the title and removes everything that follows.i cant reproduce this. could you post here exact title of track in question?
As for the lingering parenthesis, it was the -second- present that did that, not the first. I followed the same steps to fix this one and now the one remaining parenthesis is at the end of the last guest artist.ahh, yes, sorry, haven't noticed this.
Since the copied first preset works as I wish, I'm willing to consider this solved. However, if you want to continue troubleshooting, I'm more than happy to help.it's intended behavior for 1st and 2nd presets. 1st preset stripes parenthesis, 2nd one must be applied when there are no parentheses in track title.
it's intended behavior for 1st and 2nd presets. 1st preset stripes parenthesis, 2nd one must be applied when there are no parentheses in track title.Ahhh! Thanks for the clarification, boroda.
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/fileWOW! That's some damn fast service. This is really great.
Could it be that this plugin overrides the MB option to not update the timestamp when making changes to files?plugin is using mb api to update track tags. so it depends on mb behavior, but i'm pretty sure that mb api calls respect this setting.
i can't reproduce this. what happens if you change some tag in tag editor (i.e. not using plugin)?Hi there this would also update the timestamp -- I am confused...
I searched the web for the regular expressions and tested them on regular-expression-test-sites ([^.]). There my tests were succesful, but not in the plugin. I tried itCan you be specific on what you tried exactly?
Hello,it's strange that [^.] is working somewhere because it means "search either for beginning of string or any symbol" (unescaped dot means "any symbol" in regex). what is working for me is:
I want to use the additional tagging for batch tagging much more.
I tried to copy & edit some of the presets with regular expressions- but without success :(
I want to achieve: Copy a tag (f.e. ".Relax Music") to another field, but without the dot. So in the other field should be then "Relax Music".
I searched the web for the regular expressions and tested them on regular-expression-test-sites ([^.]). There my tests were succesful, but not in the plugin. I tried it in different variations- without success....
I think, it should be easy, but....
Please help....
for the info for future users:
1. if any asr preset is ticked the color of warning text at the top of asr window is changed
2. to easily see all ticked presets (and only ticked presets) tick the checkbox in the yellow frame on screenshot:
(https://i.imgur.com/xiQQNgT.png)
(https://i.imgur.com/MJdMkfr.png)
search for ^\.?(.*)works :-)
replace by $1
you can see the link to regex language here:It never occurred to me to click on that sentence.
(https://i.imgur.com/YSsDq9p.png)
Perhaps it would be better if it was renamed to something like:+1
Microsoft Regular Expression Quick Guide
* Batch resizing of Covers: I read, it is not (easy) possible in MB. Maybe, it could be possible with this plugin??I tried by myself to do it with this plugin. But I have fear to damage anything, because I am not firm enough with these things.
* Copy the field-value from one folder to another: F.e. I have track "Song" in the "Records"-folder with correct genres. And the same track in the "All bands"-folder with incorrect genres. At the moment I copy them always manually but would love to do it in a more easier & faster way :-)
* Delete all unnecessary fields /their values and keep only my wanted fields with their values- in one step.
* For my MP3-Player my files have to be with tag types ID3v2.3 and without other types. With foobar2000 I can control that and if needed I can correct it in an easy way. Is that possible in MB too?
<< " [ ((
But I already have other questions...
I'd like to get rid of other programs for my music-editing and because of that hoping to find MB-solutions for the following wishes:
* Batch resizing of Covers: I read, it is not (easy) possible in MB. Maybe, it could be possible with this plugin??
* Copy the field-value from one folder to another: F.e. I have track "Song" in the "Records"-folder with correct genres. And the same track in the "All bands"-folder with incorrect genres. At the moment I copy them always manually but would love to do it in a more easier & faster way :-)
* Delete all unnecessary fields /their values and keep only my wanted fields with their values- in one step.
* For my MP3-Player my files have to be with tag types ID3v2.3 and without other types. With foobar2000 I can control that and if needed I can correct it in an easy way. Is that possible in MB too?
Could AT&RT be extended to support the deletion of tags?+1
Oh, what a pity! But thanx for your answer!But I already have other questions...
I'd like to get rid of other programs for my music-editing and because of that hoping to find MB-solutions for the following wishes:
* Batch resizing of Covers: I read, it is not (easy) possible in MB. Maybe, it could be possible with this plugin??
* Copy the field-value from one folder to another: F.e. I have track "Song" in the "Records"-folder with correct genres. And the same track in the "All bands"-folder with incorrect genres. At the moment I copy them always manually but would love to do it in a more easier & faster way :-)
* Delete all unnecessary fields /their values and keep only my wanted fields with their values- in one step.
* For my MP3-Player my files have to be with tag types ID3v2.3 and without other types. With foobar2000 I can control that and if needed I can correct it in an easy way. Is that possible in MB too?
None of these things are as simple to do in MusicBee as with a dedicated tagging program like mp3tag, for instance.
Hello boroda,just read search pattern from left to right and keep and mind that we will find something or won't, but only captured chars (which will fall in parenthesis) will be placed instead of $1 in replacement pattern.
thanks for your explanation :-) But... still I do not really understand, why yours is working and mine not. Maybe my IQ is not high enough ;-) But I think, I do not understand because my english is not good enough & because of technical terms. :-[
Or I just don't understand the basic. [^.] means "not dot". (.*) means "any character in any number. So it should find everything except dot and copy the found (without dot because it didn't found dot) into the other field. But it doesn't...
^\.?(.*): With your explanation it should find anything with no or one dot and copy the found into the other field. But it copies the found without dot...
But I already have other questions...
I'd like to get rid of other programs for my music-editing and because of that hoping to find MB-solutions for the following wishes:
* Batch resizing of Covers: I read, it is not (easy) possible in MB. Maybe, it could be possible with this plugin??
* Copy the field-value from one folder to another: F.e. I have track "Song" in the "Records"-folder with correct genres. And the same track in the "All bands"-folder with incorrect genres. At the moment I copy them always manually but would love to do it in a more easier & faster way :-)
* Delete all unnecessary fields /their values and keep only my wanted fields with their values- in one step.
* For my MP3-Player my files have to be with tag types ID3v2.3 and without other types. With foobar2000 I can control that and if needed I can correct it in an easy way. Is that possible in MB too?
;D 8) Of course I noticed the regex-link in the plugin and used it already- it's the one I mentioned above ;-)
Thanx for your help :-)
Anoushka
Hi borodo,support for german, polish and french localizations are discontinued long time ago (because all translators haven't visited this site for a log time). your localization files are from some old plugin version. delete 'de' subfolder from mb 'plugins' folder to switch to english localization.
thank you for your wonderful plugin! It adds so many useful features to MB.
One issue I noticed in the more recent version:
Two buttons in the advanced search & replace window are cut off:
(https://i.imgur.com/9ydls1j.jpg) (https://i.imgur.com/9ydls1j.png)
I'm running MB 3.5.8296 portable on Windows 11 Version 21H2 (Build 22000.1098).
And by the way: is it possible to increase the amount of assignable hotkeys to like 50? This would be awesome.
Thank you!
A request:what do you mean by 'deletion'? writing empty values? or physically deleting tags from music files? if latter, then no, it couldn't, because plugin is working with tags by using mb api only, and api doesn't provide such functionality. why you just don't use mb native 'tools> tagging tools> remove tags' command?
Could AT&RT be extended to support the deletion of tags?
Request for new feature or extend current oneit's interesting idea. thanks for your proposition, i'll look at this deeper.
In current function repunct it only translate some special characters to some of thisCodeFull definition is in AutoLibraryReports.cs rows starts with 827<< " [ ((
It is possible to do something similar with letters? For example I want to translate artists like this:
Céline Dion -> Celine Dion (é -> e)
Christina Stürmer -> Christina Sturmer (ü -> u)
Horkýže Slíže -> Horkyze Slize (ý -> y, ž -> z, í -> i)
Maybe this could help with specifying characters
https://stackoverflow.com/questions/18123501/replacing-accented-characters-with-plain-ascii-ones
https://stackoverflow.com/questions/286921/efficiently-replace-all-accented-characters-in-a-string
what do you mean by 'deletion'? writing empty values? or physically deleting tags from music files?Speaking for myself, I was thinking of deleting the entire tag value. Unless if writing an empty value would appear as a blank/clean tag to MB. Perhaps I'm wrong in my interpretation, but I envision writing an empty tag value as the tag still has something in it, but it's empty and won't appear. But since there -is- a value there (even empty) it would not show up on a search for missing tags.
phred, where you are looking for missing tags? and which exactly missing tags?No, not quite. There have been some occasions where I just want the ability to search for data in a tag (or tags) that is incorrect and delete it. I can't believe I never knew this before (or maybe I knew it and forgot) that there is a native 'remove' tag(s) in the Tools menu. Which will take care of the "project" I'm currently doing.
Request for new feature or extend current one
In current function repunct it only translate some special characters to some of thisCodeFull definition is in AutoLibraryReports.cs rows starts with 827<< " [ ((
It is possible to do something similar with letters? For example I want to translate artists like this:
Céline Dion -> Celine Dion (é -> e)
Christina Stürmer -> Christina Sturmer (ü -> u)
Horkýže Slíže -> Horkyze Slize (ý -> y, ž -> z, í -> i)
Maybe this could help with specifying characters
https://stackoverflow.com/questions/18123501/replacing-accented-characters-with-plain-ascii-ones
https://stackoverflow.com/questions/286921/efficiently-replace-all-accented-characters-in-a-string
what do you mean by 'deletion'?Deleting an existing tag completely.
Two presets starting with "Generate 'Dispalyed…' have 'Displayed' misspelled.thanks, it's fixed
i've increased the number of asr hotkeys to 20:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
Is there a way to access the ten possible configurations for "COPY TAGS TO CLIPBOARD" via shortcut?for now, no, there isn't. maybe i'll make this later.
I currently only see the option of using a shortcut to access the last run and then switch it manually. I think it would be easier and faster to work with direct access. Is just an idea...
can the plugin work and keep musicbee full portable?yes, of course. i'm using mb portable (and all my plugins with mb portable) from the beginning.
just becase i have a portable version when i have at work
Is there a way to access the ten possible configurations for "COPY TAGS TO CLIPBOARD" via shortcut?https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I currently only see the option of using a shortcut to access the last run and then switch it manually. I think it would be easier and faster to work with direct access. Is just an idea...
Is there a way to access the ten possible configurations for "COPY TAGS TO CLIPBOARD" via shortcut?https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I currently only see the option of using a shortcut to access the last run and then switch it manually. I think it would be easier and faster to work with direct access. Is just an idea...
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I saw one small mistake. The keyboard shortcuts say "Clipbiard" instead of "Clipboard".:) it's fixed. redownload plugin from the same link before testing it, because hotkeys will be reset after plugin update.
I saw one small mistake. The keyboard shortcuts say "Clipbiard" instead of "Clipboard".:) it's fixed. redownload plugin from the same link before testing it, because hotkeys will be reset after plugin update.
this bug should be fixed now:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
it's there, but without "Tagging Tools:" prefix:
(https://i.imgur.com/y0mLRU3.png)
i've fixed it:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I would like to create a function that writes a tag with a pre-defined value.Is it safe to assume this can not be done?
of course, it can be done. go to ASR, find preset "Example: Set tag",I went through the list of presets multiple times.
interesting. could you upload somewhere one of problem tracks? don't upload it to file sharing site, such sites can block downloads if they detect copyrighted tracks. upload track to google drive, ms one drive, etc.
thanks, phred. it's fixed:Confirmed as fixed. Thanks boroda!
do you mean AT&RT or ASR?It was a rather unspecific and general spur-of-the-moment remark.
the checkbox to the left of "star" button is checked on my screenshot, but not on your screenshot. that's why only ticked presets are shown on my screenshot, but not on yours.And you even have a tool tip on that check box. <sigh>
but i believe that clicking on highlighted warning text to show only ticked presets in addition to that checkbox is a good idea. i'll make this.Not necessary for me now that I've seen the error of my ways. I do think it will help others who come along ignoring the check box like I did. Thanks.
Should that file also be used in some way when updating to a new AT&RT version?I've always assumed the RU dll has something to do with the Russian language. Perhaps a translation of the .dll. Obviously boroda will let us know.
HAPPY NEW YEAR TO ALL FORUM MEMBERS!The same to you boroda.
And thanks for continuing development and support for your plugin.Yes. Thank you boroda for the greatest MB plugin and for the continued improvements.
I think a combination of what I suggested above (which basically is a static warning) and a brief popup warning when a preset is ticked/double-clicked would make it very clear that a preset will be automatically applied.Which I believe is what I just suggested.
Which I believe is what I just suggested.Yes, pretty much. But I felt verbal and didn't want to simply plus one it.
Which I believe is what I just suggested.Yes, pretty much. But I felt verbal and didn't want to simply plus one it.
Here a mock-up of what I was thinking of:i'll leave it as is for now. very big problem is insufficient space in ASR window. i was always trying to keep this window as much compact as possible.
(https://i.imgur.com/36Jecuk.png)
And when no preset is activated just have it grayed-out saying something like "no active prests".
And I still think checkbox behaviour should be single-click.that's where the main problem comes, and that's why i've changed ticking checkboxes to double-clicking. standard .net behavior of a list with check boxes is not only to change checked state on clicking inside a checkbox, but also to change this state on single-clicking anywhere on the line of the list. it was too easy to accidentally tick a checkbox.
MusicBee itself also has some features that could have unwanted (not understood) consequences that can be activated by clicking a checkbox.
It then also warns with a pop-up balloon. It doesn't make it more difficult by requiring a double-click that nobody would expect for a checkbox.
now single-clicking is required instead of double-clicking, but mouse click must be inside checkbox to tick/untick preset.Thanks boroda (and hiccup for expressing my thoughts.)
The one thing I've noticed, and I think this goes back many versions, is that ticked presets do not remain persistent throughout -version- changes. And yes, I do exit AS&R by clicking "Save all & Close."yes, auto-applying option is stored in preset file. try to always 'import new' presets instead of copying them directly to 'mb appdata\asr presets' folder. another approach is to always turn this option on to copied predefined preset instead of original one. this problem doesn't exist for user created presets.
try to always 'import new' presets instead of copying them directly to 'mb appdata\asr presets' folderOkay - I've got to get into the habit of doing this. Thank you.
- importing presets doesn't workIf I'm doing this correctly, I can confirm that importing presets does nothing.
- when using keyboard shortcuts for AT&RT presets, sometimes the wrong preset gets appliedi'll look at it.
- importing presets doesn't worknow only presets having new format are imported if any of them exists in import folder ("plugins\asr presets"), old format presets will be imported if no new format presets exist in that folder. just delete all old format presets from "pluins\asr presets" folder. presets in "appdata\asr presets" folder will be auto-converted to new format on any preset saving inside ASR. "import new" now is having very strict meaning, i.e. no presets, which content is not updated since last import, will be imported. "import all" should work as usual.
(maybe due to to a discrepancy between the use of ".asr-preset.xml" and "ASR Preset.xml"?)
some bug fixes of last version, and code refactoring:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
@phred, hiccup, have you redownloaded fixed version from that my post?Yes, I downloaded from the link in Reply # 2761.
I have no "ASR Presets" under the Plugins directory after trying the new version and running "import all" and "import new." My presets are in, and have been in, MusicBee\AppData\ASR Presets. The ZIP contains 111 presets. I have 8 custom presets. There are a total of 119 presets in AppData\ASR Presets.both "importing" buttons will import ASR presets only from "mb folder\plugins\asr presets" folder or from "mb appdata\plugins\asr presets" folder. you may not import presets at all (no new presets are included in latest plugin zip). old format presets should be working fine, and they will be automatically converted to new format if you open ASR, and click "save all" or "save all & close". but conversion of presets to new format is not necessary.
@phred: close mb, backup all your presets, delete all presets having new format (*.asr-preset.xml)Great minds think alike. I just did as you suggested and all the presets are converted and present. There is one custom preset that won't import or convert. Would you be willing to take a look at it? I can zip it and upload it to MediaFire. No rush whatsoever.
in the future, you can update the plugin and asr presets in any way you find convenient.
phred, try to convert the problem preset by new plugin version, but if new version also fails, then pm this preset.I'll give this newest version a shot tomorrow and let you know if the preset automatically converts. The problem so far has been when I imported -all- the presets (stock and custom) all but the problem one installed and ASR threw a "one preset did not import" (or something close to that.) No matter what directory I place the problem custom preset it hasn't imported automatically. When I click 'import' and navigate to the folder where it is, the file picker doesn't show it because the picker is looking for ".asr-preset.xml" while the problem file is ".ASR Preset.xml"
I am pretty sure I got the "problem" present from someone who posted it here in this thread, but I may be mistaken.it's very likely it was me :) (i'm not sure, though). and later, i have added it to predefined pack, because it was more useful than original preset:
hotkeys must be handled correctly now.Not for me, a wrong preset still sometimes gets triggered, and some preset hotkeys don't work at all.
Could you provide a download link to the last December version?In an attempt to save boroda a little time, here is a link to mb_TagTools_5.5.8400 which I believe is the last release of 2022..
Thanks phred! My presets are working fine again with this version.Could you provide a download link to the last December version?In an attempt to save boroda a little time, here is a link to mb_TagTools_5.5.8400 which I believe is the last release of 2022..
Thanks phred! My presets are working fine again with this version.Happy to help.
And while I'm thinking of it, would it be possible for ASR to show a message on MB's status-bar when a hotkey is pressed (like "ASR: Applied Lower-Case Preset" or something daft like that)?this had been implemented from the beginning, but the status-bar message was cleared after applying ASR preset, and became unnoticeable if you apply preset to only a few tracks (it was cleared too quickly). i've removed status-bar message clearing.
Hmm... just updated to .8405 and none of the hotkeys for presets (normal or custom) seem to work. I deleted them all (and verified that they were removed from the hotkey-list), then re-added them (the usual way), and they reappeared in the list as expected, and I assigned keys to them again.
Not for me, a wrong preset still sometimes gets triggered, and some preset hotkeys don't work at all.
Well, almost solved: the hotkeys invoke the correct preset, but only to the first selected item; if I select 11 songs to tag, the first is processed as expected, but the other 10 are ignored. :(Confirmed, same here.
I'm glad my example seems to have been useful to solve the issue indeed.yes, thank you for your observations.
Well, almost solved: the hotkeys invoke the correct preset, but only to the first selected item; if I select 11 songs to tag, the first is processed as expected, but the other 10 are ignored. :(another very stupid bug is fixed:
And thanks for the status-messages, not too obtrusive and much more informative than just "hoping something happened". :)do you mean "beta" (where messages disappear after 5 secs) or "latest" version?
2. you can assign virtual tag function id to any preset, and use this preset in virtual tags, file naming templates, etc. as $ASR(<URL>,preset_id).I have read this a couple of times, but I still don't think I understand this feature.
note: this option may be useful for simple asr presets, but it will return last changed tag for complex (multistep) presets, what may be not very obvious in this case.
$ASR and $ALR are both fantastic functions. I'll give a couple example of how I've used them.Thanks Messiaen! These are great explanations and examples.
I will freely admit that I have absolutely no idea what that extra checkbox-type thing does. :)It must be making the function some place of interest ;-)
4.Answering myself: Yes, you probably should.
So $ASR is a function that can be used for virtual tags?
Should I then add it here?:
https://getmusicbee.com/forum/index.php?topic=35868.msg196257#msg196257
Would that be a correct description?Seems pretty succinct to me... though either way it requires a bit of trial-and-error before one finds that elusive "A-Ha!" moment when using them. ::)
(Slightly aside, for me discovering the \@eval[[]] function was a revelation in the real use of ASR/ALR Virtual ID's, but that wouldn't belong in your guide as it's plugin-specific.Yeah, that falls outside the scope and intention of the cheatsheet.
So if you feel like it, you could always edit that post and add more interesting stuff like these advanced functions to it?Yeah, I kind of have already, but it just gets messy trying to over-explain something so arcane in excessive detail. Things like that are best left to immediate use-case questions, like "How do I just make it go forward?" (When I discovered horses didn't come with automatic break-systems the romance of riding became somewhat tarnished, if you know what I mean; Snooker is one of those games that's much easier to play on telly than it is in real life.) ;)
Or write and publish an "AT&RT for Dummies" bookMy forays, trisques, and self-effacing callumnies combined with irrepressible sesquipedalianesque tendencies towards longwindedness would scupper that particular lyrical essay before I even finished the frontispiece. ;) <Cough>
My forays, trisques, and self-effacing callumnies combined with irrepressible sesquipedalianesque tendencies towards longwindedness would scupper that particular lyrical essay before I even finished the frontispiece. ;) <Cough>You are smoking a pipe, right?
You are smoking a pipe, right?If you've ever read The Decline and Fall of the Roman Empire by Edward Gibbon, it's a paraphrastic play on his 18th-century style of writing. Who said you can't mix abstruse tech with a little cultural entertainment? No pipes necessary, though phred is going to scold us for going too far off-topic soon. :)
Honestly, I think 5 seconds to be a bit short, considering if you apply a preset to (for example) a thousand files at once, the message doesn't show up until after the task is done (which can take up to 5 or 10 seconds), so immediate notification would be my preference (with longer display time)the problem is that preset can be applied conditionally (only if tracks belongs to some auto or regular playlist), so it's impossible to show a status bar message before applying preset. but i've increased displayed time to 10 sec.
However, now that you've settled on single-click to activate checkboxes, it'd be nice if double-click could be employed for "Rename / Edit", as that's a function I use most and searching for a button (impractically placed next to "Delete") to edit something repeatedly (as happens with RegEx's!) was always awkward. It's also generally the default for list-view d-click's.again, there is a problem. predefined presets can't be edited, and most users won't create custom presets. what do you think, maybe it's worth to edit custom preset and edit the copy of predefined preset (there may be warning dialog shown asking to edit the copy) on double-clicking?
When you use the 'proper' way to install AT&RT (Preferences > Plugins > Add Plugin...), no presets are placed in any folder in MusicBee's installation path.the proper way is to manually copy plugin zip content to "mb folder\plugins". just because "add plugin" button had been added to mb relatively recently, AND plugin can't be UPDATED via "add plugin" button (i've asked Steven to implement full support for installing/updating/removing plugins by the means of mb, without manually copying/deleting any files. maybe he will make this for mb 3.6).
So the buttons 'import new' and 'import all' simply won't work.
And I agree with Messiaen that three import buttons seem a bit much.for now, i'll just rename import/export buttons because they have different meanings for importing/exporting user presets, and for importing predefined presets.
(https://i.imgur.com/hlnpzUh.png)these 2 buttons assigns virtual tag function id, and removes assignment. my fault, i had to make a tool tips for these buttons.
What would you enter exactly in the entry field? The name of an existing virtual tag? Some unique text of your own choice?
What does the (pointed at) button do?
An even better example (which I imagine Boroda would find amusing) is in the use of $ALR. Say I wanted to store the length of a classical "work" (as the sum of individual movements), I would first define an Auto-Library-Report as:it's not very important, but tou can save Sum(Time) to <Null> tag to save one custom tag, and still assign virtual tag function id to Sum(Time).
<Grouping>: Album Artist, Album, Work, Sum(Time) -> Save Field: Sum(Time)
and assign that ALR a virtual function ID of "SetWorkDur".
i've increased displayed time to 10 sec.Thank you.
predefined presets can't be edited, and most users won't create custom presets. what do you think, maybe it's worth to edit custom preset and edit the copy of predefined presetI just imagined it working the way it does now - if you click Rename / Edit on a preset it just opens up in the editor so the user can look at it... sure, it can't be edited, but I learned a lot just from looking at your reg-ex codes without actually needing to copy the whole thing over first. So, a double-click would just be the same as pressing the Edit button, without anything special. Like you say, most users don't create custom edits and it stands to reason that those self-same users would be terrified of actually editing one of yours blindly. ;) So just being able to look at it is sufficient, I should think, they can always copy it later.
these 2 buttons assigns virtual tag function id, and removes assignmentHuh, I always just assumed that the Save All/Close button did that automatically - if the text field has content, then it's applied, if the field is empty, it's removed. If there's some mystical need for this two-step approach, then it definitely should be documented better! :)
you can save Sum(Time) to <Null> tag to save one custom tag, and still assign virtual tag function id to Sum(Time).Yeah I know (I did that accidentally and was surprised it worked), but when writing that example above the more pressing concern was brevity/clarity. Also, sometimes I have a heck of a time getting the ALR configurations to work as I expect them to (forgetting or accidentally changing even a small grouping element can wreak havoc), so the standard philosophy is "if it ain't broke..." :)
hiccup, Messiaen, i'm very impressed by your conversationI kind of figured you'd come home after a long day only to find that the kids had messed up the house (thread) again, and who wants to read all this bloody English text anyway? :-\
\@char[[charcode]]
actually, you are right. ⌘ button does nothing, id assignment is happening, when caret leaves id text field. the only function of ⌘ button is to provide an easy way to move input focus from id field.these 2 buttons assigns virtual tag function id, and removes assignmentHuh, I always just assumed that the Save All/Close button did that automatically - if the text field has content, then it's applied, if the field is empty, it's removed. If there's some mystical need for this two-step approach, then it definitely should be documented better! :)
actually, you are right. ⌘ button does nothing, id assignment is happening, when caret leaves id text field. the only function of ⌘ button is to provide an easy way to move input focus from id field.But that also happens when you click somewhere else in the panel.
i've made new virtual tag function $Char(hexadecimal unicode code)Does this require Steven to activate it or something, as it doesn't seem to work: Something simple like $Char(00A7) is just replaced by... nothing. (Should be a '§', as a test.)
1.Not for me, a wrong preset still sometimes gets triggered, and some preset hotkeys don't work at all.it's even strange that it somehow worked ever at all. there was a blunder. internal counter of all hotkeys was shifted by 1, and this internal counter very vaguely related (and relates, it's by design) to any display order of presets/hotkeys. i hope, it's fixed:
…and renamed "import all"/"import new" buttons to "update all"/"update new".Not sure about that one to be honest.
i've made this button to not confuse users that there is no "confirmation" button (though this button is actually not needed). i'll keep this button. as for width of id field, i've changed anchors of that field and 2 adjacent buttons, so id field is resized on ASR window resizing.actually, you are right. ⌘ button does nothing, id assignment is happening, when caret leaves id text field. the only function of ⌘ button is to provide an easy way to move input focus from id field.So wouldn't it be best to just remove the place of interest button?
That will also allow for a slightly wider input field.
This warning also pops up when the field is left blank.damn. the same for ALR. nobody noticed it, though this bug existed from the beginning. it's fixed.
That probably shouldn't happen?
(https://i.imgur.com/c697ypH.png)
Does this require Steven to activate it or something, as it doesn't seem to work: Something simple like $Char(00A7) is just replaced by... nothing. (Should be a '§', as a test.)i've copied this function from ASR, and kept "private" declaration instead of changing it to "public", so the function was invisible to mb. it's fixed.
Nitpicking: perhaps change both texts to Auto-apply ?ok, i'll change this.
(https://i.imgur.com/5tQf1Zy.png)
I have never used this feature, but do I understand correctly that it allows to enter tags that will remain unchanged, no matter what the preset says?not tags, but any values of any tags, no matter what tags contain these values.
(https://i.imgur.com/y1QxRH2.png)
If that is the case, perhaps a wording such as 'preserve tags' would be better than 'skip input tag values'.
And I am also curious when you would use this feature?
With all due respect, I disagree.i've made this button to not confuse users that there is no "confirmation" button (though this button is actually not needed). i'll keep this button. as for width of id field, i've changed anchors of that field and 2 adjacent buttons, so id field is resized on ASR window resizing.actually, you are right. ⌘ button does nothing, id assignment is happening, when caret leaves id text field. the only function of ⌘ button is to provide an easy way to move input focus from id field.So wouldn't it be best to just remove the place of interest button?
That will also allow for a slightly wider input field.
not tags, but any values of any tags, no matter what tags contain these values.Ah, so values indeed.
the problem is that the english is not my native language. it would be helpful if you could suggest better wording.…and renamed "import all"/"import new" buttons to "update all"/"update new".Not sure about that one to be honest.
As the tooltip says, it's more of loading presets than updating them I think?
Or will it sometimes indeed update existing presets with updated/improved versions?
(https://i.imgur.com/wkJLoBb.png)
Nitpicking: perhaps change both texts to Auto-apply ?
(https://i.imgur.com/5tQf1Zy.png)
I have never used this feature, but do I understand correctly that it allows to enter tags that will remain unchanged, no matter what the preset says?
(https://i.imgur.com/y1QxRH2.png)
If that is the case, perhaps a wording such as 'preserve tags' would be better than 'skip input tag values'.
the problem is that the english is not my native language. it would be helpful if you could suggest better wording.Yeah, while it's not mine either, I believe that the Russian language is far more complicated, and more distanced from English than mine.
hiccup, i've edited my previous post when you were answering. you may want to reread it.I surely will.
but I also hope that some native English speakers (such as e.g. Messiaen and phred) have something to say/add to all this too.yeah, i really hope for them
...as long as they don't try to impersonate 18th century writers, I declareSo I guess you don't want my ghostly spirit channeling of Montaigne, Dostoevsky, Proust, or Rabelais? I can do Harry Potter too, if pushed. :) Jeez, tough audience.
This may all seem a little bit of nitpicking, but I truly believe the choice of one single word will be able to confuse a user. Certainly new ones.It's not nitpicking at all as your motives are in the honest pursuit of helping users make sense of the things in front of them. When I first discovered MB about a year ago I wouldn't ordinarily have looked too closely at virtual expressions as I couldn't see a practical application for them. And then I ran into the wall of Steven's very strange decision (since changed, thank god) to calculate all times in minutes and seconds, no hours. So, I dug into this virtual stuff, and now I can't live without it. So, the more inviting something is, the better.
And improving on it might invite users to try out features they would otherwise ignore or be a little bit scared of.
I haven't been paying close attention to all the suggestions over the past two forum pages. I will reread the verbiage comments closely and try to come up with some suggestions for better tool tips and button text. I will get to this over the course of this weekend.but I also hope that some native English speakers (such as e.g. Messiaen and phred) have something to say/add to all this too.yeah, i really hope for them
I can do Harry Potter too, if pushed. :)I never heard of that writer, what works is he known for?
...nobody noticed it, though this bug existed from the beginning. it's fixed.I had run into it a few times, but I just figured it was me doing something wrong (or out of order), and since it always went away after a few clicks I didn't think of reporting it.
i've copied this function from ASR, and kept "private" declaration instead of changing it to "public", so the function was invisible to mb. it's fixed.Yep, all good now, thank you very much.
Every now and then I do get a particular sense of glee at how someone else expresses an idea in English... say, for example, in the Auto-Library UI there's a lovely option which says "Calculate aggregated functions and save them to tags..." The problem is, while I think I fully understand what that means, I'm not entirely sure, and I love the wording so I don't want to change it - though if ever there were options people might "be a little bit scared of" they'd for sure be worded just like that one. :) It makes me smile every time I see it though I know 99% of users would be confused by the nature of combining words like "aggregate" and "function".firstly you are welcome (of course, not only you, but also phred & hiccup) to suggest better english wording for any plugin function/option. "Aggregated function" is just literal translation from russian to english of a professional term from database world. i actually don't know what is the correct english term for this concept.
In advance of my offering English language suggestions, I've reread the last three pages and have some comments."import" will import any asr preset(s) from an arbitrary folder (open file dialog supports multi-selection, so preset(s)). "shared" means "previously exported" by you (e.g. to back up) or by another user to share preset(s) with others. users are free to export any presets, but "shared" presets are suggested to be mostly custom presets, or they also can be customized predefined presets (users can't fully edit predefined presets, but most predefined presets have some adjustable options: all these <tag #>, <custom text #>).
1- The "import" button: what does "shared" presets refer to? Would that be the same as -custom- presets?
2- Hiccup raises some good comments regarding the "Update New" and "Update All" buttons and the related tool tip referring to "load".my current intention is to change the words "update" (in button names) and "load" (in tooltips of these buttons) to "install", e.g.: "install all" button with tooltip "install all predefined presets, and update installed predefined presets to the latest version".
3- "Auto-apply ticked presets on startup". If these aren't applied at startup, then when do they get applied? If ticked, does ASR scan the user's entire library looking for criteria matching the preset? Does that slow down MB's startup when there's a large library?actually, this option is a rudiment from time, when ASR doesn't have auto-applying option on tag changes/adding new tracks to library/inbox. maybe i must remove this option at all, it's obsolete now.
4- Reply # 3959 - Boroda's proposed readme.txt file is a good idea and I'll will put my eagle eyes on it.the problem is that i very want to put readme in plugin zip, but placing another real plugin zip into downloadable zip is not very good idea. i don't know where and how to put/publish installation/updating/uninstallation instructions, so that they will attract attention, and won't be unnoticed by users.
i'm now in the middle of changing the entire structure of the plugin package. Downloadable .zip (Additional-Tagging-Tools_latest.zip, Additional-Tagging-Tools_beta.zip or Additional-Tagging-Tools_YYYY-MM-DD.zip depending on situation) will contain inside "ASR Presets" folder, file README.TXT, and another real plugin .zip (always Additional-Tagging-Tools-Plugin.zip). users must manually extract downloadable .zip (1st level .zip) to some folder (e.g. desktop). README.TXT must contain the following instructions (it's a beta version of instructions 8) ):I'm still trying to understand this. These questions come from my reading and re-reading your first draft of the readme. Once I get a clearer picture of how you're planning on packaging the zip, I'll be able to tackle the readme. My questions are as follows (you can simply answer by referencing to my question numbers.) Note that your answers (or my re-reading) my prompt more questions. :-)
PLUGIN INSTALLATIONAs a more general and undirected observation:
actually, all this doesn't relate to translation. i've found out that even advanced users don't realize how to correctly install/update plugin and asr presets.Thanks for answering my questions. I does indeed relate to the translation I'm doing on the readme because I need to what you're trying to do in order to make the readme as complete and understandable as possible.
i've tried to ask active plugin users, what "distribution model" (and hence, installation/updating process) they suppose to be more clear and easy. it's not the question of translation.The way I install and/or update the plugin and the presets is to close MB > open the zip > drag the .dll to the plugins folder > drag the presets to the presets folder > restart MB.
i agree about "installing"/"uninstalling", i must change them to "adding"/"removing". but i don't think that word "updating" may be confusing. i already avoid the word "upgrading".PLUGIN INSTALLATIONAs a more general and undirected observation:
Both 'installing' and 'updating' plugins to me seems something a lot of software doesn't have a tight grip on, and is very often confusing for users...
UPDATING THE PLUGINIs this indeed the necessary procedure?
1- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Additional Tagging & Reporting Tools > Disable > Close and restart MusicBee.
2- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Add Plugin... > browse to the folder where updated file "Additional-Tagging-Tools-Plugin.zip" is located and open this file. Close preferences.
Is this indeed the necessary procedure?According to the readme texts boroda has posted over the previous two to three pages, yes. I cleaned up what he wrote somewhat.
So you can't just overwrite the mb_TagTools.dll with a newer version? (with MB closed of course)
ADDING THE PLUGIN
1- Download the appropriate ZIP file, unpack it to some temporary folder, and rememberwhere you saved itwhere this folder is located.
2- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Add Plugin...
3- Browse to the folder where you have unpacked downloaded zip,file "Additional-Tagging-Tools-Plugin.zip" is locatedand openthisfile "mb_TagTools.zip". Close the Preferences window.
Installing Advanced Search & Replace Presets
4- Open MusicBee. From the menubar > Tools> Additional Tagging & Reporting Tools> Advanced Search & Replace > ClickUpdateInstall All> browse to the folder where file "Additional-Tagging-Tools-Plugin.zip" is located and open subfolder "ASR Presets"to load all predefined presets.
5- To configure plugin, open MusicBee. From the menubar > Edit > Edit Preferences> Plugins > Additional Tagging & Reporting Tools" > Configure.
UPDATING THE PLUGIN
0 - Download the appropriate ZIP file, unpack it to some temporary folder
1- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Additional Tagging & Reporting Tools > Disable > Close and restart MusicBee.
2- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Add Plugin... > browse to the folder where updated file"Additional-Tagging-Tools-Plugin.zip""mb_TagTools.zip" is located and open this file. Close preferences.
UPDATING THE ASR PRESETS
1- Open MusicBee. From the menubar > Tools > Additional Tagging & Reporting Tools > Advanced Search & Replace.
2a- Click the "Install All" button to install all predefined ASR presets. This installs all predefined presets and will update to the latest version any preset(s) that have already been installed.
OR
2b- Click the "Install New" button to (re)install predefined presets which were created or updated by developer since last time you installed or updated them by either of two methods.
IMPORTANT NOTE: "Install New" will not reinstall any predefined presets deleted by you. Predefined presets can't be edited, but can be "customized" (most predefined presets allows changing some options).For example,Adjusting some criteria of a predefined preset will result in a "customized" preset. Both installation commands will ask you if you want to update the customized preset(s) (if any) and lose your adjustments, or to skip those updated by developer,butand update only those not customized by you. (The following sentence by pred doesn't relate to installing new or all predefined presets, it's about exporting/importing presets. for now all presets are always exported as new user presets. i'll try to improve preset exporting/importing and come back later with new implementation)For example, User A customizes a predefined preset and shares it with User B. User B makes a change to it and shares it back to User A. User A selects "Install New" and User B's changes will replace User A's customized preset. Thereby discarding (or removing) User A's original changes.
REMOVING THE PLUGIN
1- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins.
2- Additional Tagging & Reporting Tools > Uninstall. MusicBee will delete all automatically created files (e.g. settings). You will need to close MusicBee and manually delete file "mb_TagTools.dll" and the subfolders "ASR Presets" and "ru" from "Plugins" folder. The "Plugins" folder is located in MusicBee application folder if you are using the portable version of MusicBee. If using the installer version of MusicBee, it's in the folder "%AppData%\MusicBee".
Unfortunately, no plugin can be uninstalled from Store version of MusicBee at the moment.
did you want to say "overwrite the mb_TagTools.dll and ASR Presets folder with a newer version"? it's possible, but won't give you any automatization of installing/updating predefined presets.UPDATING THE PLUGINIs this indeed the necessary procedure?
1- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Additional Tagging & Reporting Tools > Disable > Close and restart MusicBee.
2- Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Add Plugin... > browse to the folder where updated file "Additional-Tagging-Tools-Plugin.zip" is located and open this file. Close preferences.
So you can't just overwrite the mb_TagTools.dll with a newer version? (with MB closed of course)
did you want to say "overwrite the mb_TagTools.dll and ASR Presets folder with a newer version"? it's possible, but won't give you any automatization of installing/updating predefined presets.I was thinking of when a user just wants to update the plugin itself, leaving all user- and predefined presets as they are.
...but I'll leave you and phred to work things out further without me interrupting ;-)Please interrupt. Having another set of "experienced user" eyes on the project is helpful. And your testing is even more so as you use more presets than I do. At this point I'm focusing on helping write the readme.
Hi
After installing the plugin for the first time (5.5 versión) the item "Additional Taggin & Reporting Tools" appears in the Tools Menu but doesn't include any commands.
(https://i.ibb.co/gFLHw2S/Sin-t-tulo.png)
Apologies if this issue has been addressed already, I can't seem to find it
@phred, could you check (and correct if needed) the following warning massages? i mostly care about acceptable usage of tense, articles and punctuation, but not only:
Some predefined presets customized by you are changed by developer.
Do you want to update your customized predefined presets by new versions from developer?
All your customizations will be lost!
-
One or several imported presets already exist.
Do you want to import them as new presets, and keep your current presets?
Otherwise, existing presets will be overwritten!
-
# presets were successfully imported as new presets.
-
# presets were successfully imported.
-
# presets failed to import due to file read errors or wrong format.
-
# presets were successfully installed.
-
# presets were successfully updated.
-
# presets customized by you were updated.
-
# presets were not changed since last update, and skipped.
-
# presets were customized by you, and skipped.
-
# presets failed to install due to file read errors or wrong format.
-
No presets for installing found in expected directory!
-
Do you want to delete all predefined presets?
-
No presets were deleted.
-
# presets were successfully deleted.
-
# presets failed to delete.
Some predefined presets customized by youarehave been changed by developer.
Do you want to update your customized predefined presets by new versions from developer?All your customizations will be lost!ALL YOUR CUSTOMIZATIONS WILL BE LOST
-
One orseveralmore imported presets already exist.
Do you want to import them as new presets, and keep your current presets?Otherwise, existing presets will be overwritten!OTHERWISE, EXISTING PRESETS WILL BE OVERWRITTEN!
-
# presets were successfully imported as new presets.
-
# presets were successfully imported.
-
# presets failed to import due to file read errors or wrong format.
-
# presets were successfully installed.
-
# presets were successfully updated.
-
# presets customized by you were updated.
-
# presets were not changed since last update, and skipped.
-
# presets were customized by you, and skipped.
-
# presets failed to install due to file read errors or wrong format.
-
No presets for installing found in expected directory!
-
Do you want to delete all predefined presets?
-
No presets were deleted.
-
# presets were successfully deleted.
-
# presets failed to delete.
From your most recent version. Strike-through means remove; italics means add.Some predefined presets customized by youarehave been changed by developer.
Do you want to update your customized predefined presets by new versions from developer?
...
Do you want to update your customized predefined presets by new versions by developer?Phred said I could interrupt. (even when I am not closely following up on what you guys are discussing exactly)
Phred said I could interrupt. (even when I am not closely following up on what you guys are discussing exactly)Thanks for interrupting. You raise a couple of valid questions, which I will answer and suggest that boroda make changes
1.I would propose using the term "user-customized preset(s)"
Far as I understand there would be predefined presets (by boroda) and there would be customised presets. (by a user)
So, to me the term 'customised predefined preset' is a little bit confusing.
2.Yes, that's correct, but I'd propose this to make it more clear:
'new version by developer'. Firstly I would assume the developer of the plugin (boroda) is referred to here.
Is that correct, or is it referring to the person that edited and/or shared a custom preset?
There are two thing that confuse me personally in that sentence.i've changed the terms i'm using recently to avoid this confusion. now there are "user presets" - they are not named anymore "custom presets" - (either created by user from scratch or copied from predefined presets), and there are "customized predefined presets" (along with "predefined presets", which are not changed by user at all). customized presets are small adjustments of predefined presets without converting them to user presets. only <tag #> and <custom text #> field can be "customized".
1.
Far as I understand there would be predefined presets (by boroda) and there would be customised presets. (by a user)
So, to me the term 'customised predefined preset' is a little bit confusing.
2."developer" is me in this context (and in all contexts i'm using for this plugin).
'new version by developer'. Firstly I would assume the developer of the plugin (boroda) is referred to here.
Is that correct, or is it referring to the person that edited and/or shared a custom preset?
Or: "new version(s) of predefined preset(s)"?2.Yes, that's correct, but I'd propose this to make it more clear:
'new version by developer'. Firstly I would assume the developer of the plugin (boroda) is referred to here.
Is that correct, or is it referring to the person that edited and/or shared a custom preset?
"new version by plugin developer"
"developer" is me in this context (and in all contexts i'm using for this plugin).At the risk of repeating my post from a couple of minutes ago, I think that could be confusing.
How about "custom-defined presets"? Or "user-defined presets"?What would be the difference between a 'custom preset' (what most people will understand without much explanation) and a 'custom-defined preset'? (which I have never heard of before and have no idea of what that means)
I think any reference to "the developer" should be changed to "the plugin developer."So we disagree about using the term 'developer' in a user interface.
How about "custom-defined presets"? Or "user-defined presets"?What would be the difference between a 'custom preset' (what most people will understand without much explanation) and a 'custom-defined preset'? (which I have never heard of before and have no idea of what that means)
i've changed the terms i'm using recently to avoid this confusion. now there are "user presets" - they are not named anymore "custom presets", there are now no "custom presets" at all - (user presets are either created by user from scratch or copied from predefined presets), and there are "customized predefined presets" (along with "predefined presets", which are not changed by user at all). customized presets are small adjustments of predefined presets without converting them to user presets. only <tag #> and <custom text #> field can be "customized".
@boroda...@phred, i think we will stop on this edition. it's completely acceptable from my point of view.
I've incorporated your latest changes (deletes/adds/corrections) into this:
...
Hi
After installing the plugin for the first time (5.5 versión) the item "Additional Taggin & Reporting Tools" appears in the Tools Menu but doesn't include any commands.
(https://i.ibb.co/gFLHw2S/Sin-t-tulo.png)
Apologies if this issue has been addressed already, I can't seem to find it
it's known issue. it's not very important, but difficult to fix, so i'm leaving it unresolved for ages. you simply have clicked mb menu too quickly, before full plugin initialization. i'm always waiting a couple of seconds before trying to use plugin menu.
@phred, i think we will stop on this edition. it's completely acceptable from my point of view.Ok. Just note that I'm still available (as time permits) to help out further if needed.
i still have one question. that's where my english is too poor to determine if this phase means in english what i want:Hmmm ... I've worked on this for a bit of time today and finally asked my wife to take a look. She's an editor and copywriter and knows English better than Shakespeare.
NOTE: If you are using the portable version of MusicBee, you can update the plugin only by copying the file mb_TagTools.dll from the archive mb_TagTools.zip
here i meant "update only the plugin by copying the file", not "update the plugin by only copying the file"
does this english phrase from your latest version of readme mean what i intend to?
It would help if the 10 buttons on the left and the 4 on the right had some more obvious visual separation.I appreciate the time it must've taken you to test, make notes, and create the reply. I, as "editor" of the readme, will do nothing until boroda has had time to digest your comments and makes changes.
Maybe something like this:
(https://i.imgur.com/Pb0Dn5u.png)
I appreciate the time it must've taken you to test, make notes, and create the reply. I, as "editor" of the readme, will do nothing until boroda has had time to digest your comments and makes changes.1.
- about the interface'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.
(https://i.imgur.com/F6qwGpQ.png)
This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
(https://i.imgur.com/vcf4FX5.png)no, tag values must be separated by TWO semicolons, because one semicolon can be used in real tag value, e.g. in 'genre' tag (but not only in 'genre').
Shouldn't it be: (separated by ; )
It doesn't require two semi-colons, or does it?
A nitpick:i'm avoiding using fixed color values because windows color scheme can be changed. i've changed text color in this panel to 'menu highlight' color. please check new coloring, as my windows color scheme is rather specific.
(https://i.imgur.com/WQdQPqc.png)
Personally I find the bold text not so nice to read. Perhaps make it regular. Maybe in a nice blue colour?
And perhaps make the header say: 'Preset description:'
These two buttons are next to each other:i've changed this. now ASR window looks similar to your makeup, but not exactly as on your screenshot.
(https://i.imgur.com/dndUR4A.png)
But one pertains specifically to presets, the other more to (changed) settings. A novice user would not understand that.
It would help if the 10 buttons on the left and the 4 on the right had some more obvious visual separation.
Maybe something like this:
(https://i.imgur.com/Pb0Dn5u.png)
(https://i.imgur.com/gMnfcDg.png)it's a bug. i haven't noticed it because i'm using the plugin in special 'developer mode' (some functionality disabled by default is enabled in this mode). of course, 'edit' button must be disabled for predefined presets. i've fixed this.
This doesn't seem to work properly.
When selecting a predefined preset and use 'Rename/Edit' to edit the preset and then save it, the indicator will not say 'customised by user'.
(I'm not even sure it is supposed to be allowed to edit a predefined preset?)
When selecting a predefined preset and use 'Copy', make some change and save it, it will highlight 'User preset', not 'customised by user'.
So when should 'customised by user' get highlighted?
But, this also goes to the point that I have made earlier: Why not keep things simple, and use only two concepts of presets:because there is no more concept of 'custom preset'. only 'user preset' and 'predefined preset'. well, also, 'customized predefined preset', which is a special case of 'predefined preset''.
Just 'predefined preset' and 'custom preset'.
There are now: Predefined presets, Customised predefined presets, Customised by user presets, Shared presets, Own presets, and Custom presets.no, no, no. i've simply forgotten to change some button names and tool tips. no more 'custom presets', i've fixed this. as for mentions of 'share/sharing', it's some specific of exported/imported presets, these presets are not some 'new type' of presets, but simply exporting/importing is intended mostly for preset exchanging, for sharing.
(and maybe I missed some more)
(https://i.imgur.com/9jo8Kbz.png)
This one says 'shared presets'.
But in fact it is about 'custom presets'. If a preset has been shared with somebody or not is irrelevant here.
And there is no such thing as presets that can be shared with other people (or different installations) vs. presets that can't.
(well, some will work and some won't, depending on what custom or virtual tags it references, but that's a different matter?)
resulting pop-up balloons with texts like these certainly make no easy read:
(https://i.imgur.com/Mvk2w9G.png)
These two buttons both pertain to 'custom presets':
(https://i.imgur.com/4XCyTTs.png)
The 'export' button specifies it is about custom presets, the 'import' one doesn't.
And the export balloon mentions 'user presets', while the import balloon mentions 'shared presets'.
Why not name these buttons: 'Export custom…' and 'Import custom…'
And make both balloons use the words 'custom presets' instead of 'user' and 'shared'.
If you do believe it is important to have a certain type of preset being described as 'customised predefined preset', perhaps change it to 'modified predefined preset'?again, there is no more 'custom presets'. but maybe i'll change very long term 'customized predefined preset' to just 'customized preset' later, because only predefined presets can be customized anyway. user presets can be just edited by user, not customized. i'm keeping this long term for now to avoid confusing with former 'custom presets' (which are now 'user presets') by old users.
I think it's equally bad, but it would at least create some extra linguistic distance between it and 'custom preset'.
I think I understand part of the reason that this all came to be is the effort to stuff a lot of explanatory information and variables into the user interface. (both in buttons and balloons)who would write this help page? i'll be happy to add 'help' button to ASR window.
But I think the interface itself should be as clean and non-confusing as possible.
The same goes for pop-up balloons. They disappear after a couple of seconds and should be brief and comprehensible.
Any further explanations can well go into manuals.
Which brings me to another suggestion:
Have a 'help' button in the main panel. (or maybe a 'documentation' button)
Which leads to a webpage that contains detailed and updated information on the buttons and functions of AS&R.
Personally I like it if a plugin forum topic (the first post), or a plugin webpage contains a direct download link and perhaps a very brief explanation on how to install it.i'll add download link to 'mb_TagTools_latest.zip' to the first post of plugin topic (and will try to revise this post, but keeping it in relevant up-to-date state is too tedious. so i don't want to write full plugin description on this page).
Neither the AT&RT forum page, nor the plugin webpage has that, and the user will need to do more clicking to get to that.
Not a big problem, a user may be asked of to make some effort, but I think it wouldn't hurt making things a bit easier.
Not only for novice users, I would also like it if could download a new plugin version by simply clicking one link in the first forum post.
(or maybe Phred could add another link in his signature ;-)
- uninstalling the pluginit shoud! and not only 'ru' and 'asr presets' folders, but also plugin .dll. but this can't be done by plugin. i've requested Steven for full support of plugins uninstalling (and simplier way of reinstalling). waiting for his responce (but this support won't impleneted in mb for 3.5, maybe for 3.6 only). though deletion of 'asr presets' folder CAN be done by plugin if plugin IS NOT installed to 'c:\program files\musicbee\plugins' folder.
Uninstalling the plugin using MB's configuration panel does not remove the folders 'RU' and 'ASR presets'
Shouldn't it?
- about the readme.txtclean install of the plugin: yes it's plugin reinstallation to the latest version, so 'updating'.
1.
The readme text has a chapter on updating the plugin.
For updating a portable version of MB it explains that it allows for updating the plugin itself only.
But under 'OTHERWISE' it does not explain what gets updated exactly.
So is that updating procedure in fact identical to doing a clean install of the plugin?
Are predefined or custom presets affected in anyway?
2.i don't know how to describe all this in a simple and clear manner. presets are downloaded during plugin download. they are included in plugin .zip. adding/updating plugin also adds to/updates presets in "local preset repository" (special asr presets folder, which is different from asr preset working folder). ideally there must be no "local preset repository" at all to simplify the entire concept of preset 'installing' (what could be renamed to preset 'downloading' in this case). but downloading files programmatically from publically available services such as Google Drive is not so easy, and is not worth required efforts.
There is a chapter: UPDATING THE ASR PRESETS:
1 – Open MusicBee. From the menubar > Tools > Additional Tagging & Reporting Tools > Advanced Search & Replace.
2a – Click the "Install All" button to install all predefined ASR presets. This installs all predefined presets and will update to the latest version any preset(s) that have already been installed.
OR
2b – Click the "Install New" button to (re)install predefined presets which were created or updated by the plugin developer since the last time you installed or updated them by either of two methods.
It doesn't say anything about how the user would acquire these updated predefined presets.
And I am assuming that the 'Install new' button does not have the functionality to download new presets by itself.
(which would not be a bad idea?)
So there probably should be some steps added to the tutorial about downloading and extracting files?
The same goes for the related buttons in the interface itself.
When a user clicks the 'Install new' button (and predefined presets are already present), it will just say that nothing was changed:
(https://i.imgur.com/zh35PqM.png)
not giving any explanation to the user about the mechanics behind it.
He would have to guess that a newer set of presets should have been downloaded first.
I'm not sure about how to improve on that exactly, but one option could be to have that button opening a filebrowser that defaults to the location where the plugin is looking for 'updated presets'. That would make things much more obvious to the user.
And pressing 'Install all' can result in this:yes, very stupid bug :) . i was sure that passing null pointer instead of empty string to message box title will result in empty title. it turned out not to be so. it's fixed.
(https://i.imgur.com/jEesUvc.png)
So it's a successful error? ;-)
Also, contrary to what it says, nothing was updated in this case.this info message should mean 'updated in case of installing new presets or reinstalled in case of installing all presets'. i've slightly changed this info message.
It will also say this if you click the button and hadn't downloaded any new presets at all.
I'm sorry if all this comes across at criticism.no, I myself asked to make critical comments.
While it probably is in a way, I really like the improvements that have been made over the last couple of weeks/months.
So this is just another effort in trying to help making things even better…
I should be in my REM sleep right now, so I'll only respond to this one point for now.- about the interface'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.
(https://i.imgur.com/F6qwGpQ.png)
This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
i've changed this. now ASR window looks similar to your makeup, but not exactly as on your screenshot.This looks much better now.
who would write this help page? i'll be happy to add 'help' button to ASR window.Not me!! But I would be happy to read it and offer grammatical suggestions and corrections.
(or maybe Phred could add another link in his signature ;-)Sorry, but there are only a limited number of characters allowed in a signature and I already asked Steven to up the maximum quite some time ago. Personally I don't like to see a signature that's longer than the reply.
i've given as much explanations as i could. now waiting for you and @phred to suggest new wordings for ui elements (or to accept my new wordings), and new corrections of readme.I will look this over more carefully tomorrow. In the meantime, could you (boroda) please PM me the latest version of the readme? Thanks.
'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field.Wait, so that's a search/filter bar...
- about the interface'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.
(https://i.imgur.com/F6qwGpQ.png)
This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
I was not thinking of a brand new webpage.Which brings me to another suggestion:who would write this help page? i'll be happy to add 'help' button to ASR window.
Have a 'help' button in the main panel. (or maybe a 'documentation' button)
Which leads to a webpage that contains detailed and updated information on the buttons and functions of AS&R.
I was not thinking of a brand new webpage.where? this page must be written from scratch to consolidate all info scattered across the forum and plugin page. it doesn't matter where this page must be located. it must be a new page anyway (even if it would be just another page on this topic).
There is already a lot of info on the plugin page, and also in the forum start post.
So the button could link to one of those?
Why not make that part of the panel completely obvious?because 'star' and (new) 'gear' characters are part of preset names. i've added these 2 buttons only because 'star' and 'gear' characters can't be typed on keyboard. auto-applied presets don't change their names, so there is no button to filter them, there is a checkbox for this. also, search algorithms for 'starred'/'geared' presets and for 'ticked' presets are completely different.
Since a user will probably not be entering more than two or three search words in the search field, there is no need for it to be that wide.
Then something like this could be done:
(https://i.imgur.com/SoAfNpz.png)
(https://i.imgur.com/SoAfNpz.png)In the block of text at top, it states "Tick presets to automatically apply them..."
because 'star' and (new) 'gear' characters are part of preset names. i've added these 2 buttons only because 'star' and 'gear' characters can't be typed on keyboard. auto-applied presets don't change their names, so there is no button to filter them, there is a checkbox for this. also, search algorithms for 'starred'/'geared' presets and for 'ticked' presets are completely different.I understand that, but I also think a user would not be interested in the behind-the-screen workings of such buttons.
MusicBee v3.5.8402.19544P (Win10.0), 24 Jan 2023 18:58:
System.ArgumentException: Value of '-22' is not valid for 'red'. 'red' should be greater than or equal to 0 and less than or equal to 255.
at System.Drawing.Color.CheckByte(Int32 value, String name)
at System.Drawing.Color.FromArgb(Int32 alpha, Int32 red, Int32 green, Int32 blue)
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
at MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
i'm still reluctant to convert search buttons to checkboxes. maybe, i'll do this, not sure.It's obviously your decision.
...it now looks much better using my current windows color scheme, but i must check new coloring using other color schemes. also, i've not yet added the check if new color is always correct (e.g. doesn't have negative color components). it seems that new color will be always correct, but i need to check this.Things look fine to me.
all tool tips for 'star', 'gear' and 'playlist' buttons are changed.The option to filter on hotkey-assigned presets seems to be gone?
The option to filter on hotkey-assigned presets seems to be gone?should be there. but i've already deleted the previous plugin version and can't check this. redownload plugin from the same link (i've made minor bug fixes).
Is that intentional?
(also, the filter button for 'custom presets' has the pop-up balloon for 'hotkey-assigned')
The option to filter on hotkey-assigned presets seems to be gone?should be there. but i've already deleted the previous plugin version and can't check this. redownload plugin from the same link (i've made minor bug fixes).
Is that intentional?
(also, the filter button for 'custom presets' has the pop-up balloon for 'hotkey-assigned')
custom presets? there was never such a filter. but i'll add it, it seems to be useful.Ah yes, here's why I thought that:
i've added user preset and predefined preset filtersDoing a brief test, my user presets do not get filtered and are regarded (same) as predefined presets.
if you are manually copying presets from plugin .zip to ASR working folder ("<mb appdata>\asr presets\"), not using "install all"/"install new" buttons, then just open ASR and click "save all & close" to resave all presets in working folder using displayed names.Perfect! Thank you.
Jesus lads, I disappear into real-life-issues for a few weeks and all hell breaks loose here. ;)it seems that plugin uses wrong fonts on your pc. it's not what i see:
Boroda, not exactly a criticism, but I'm at a loss to see how you turned Hiccup's magnificent filtering mock-up into something that looks like Pac-Man...
(https://i.imgur.com/4Qgn2aY.png)
i've enlarged the font of the preset list, and changed font symbols to icons above the preset list.Filter icons work fine now (as long as skin colours aren't being used, where they disappear for dark skins).
i've added confirmation on ASR window closing if there are unsaved changesThe warning modal displays even when Save All & Close is pressed, which is a bit redundant (especially as the icon only displays on the Close button). I'm thinking some people might find the popup slightly annoying as it shows for even really minor (non-Preset-Editor) changes, but I understand the thinking behind it.
Filter icons work fine now (as long as skin colours aren't being used, where they disappear for dark skins).will try to fix it.
The warning modal displays even when Save All & Close is pressed, which is a bit redundant (especially as the icon only displays on the Close button). I'm thinking some people might find the popup slightly annoying as it shows for even really minor (non-Preset-Editor) changes, but I understand the thinking behind it.
I still think a dropdown selection button for filtering (and/or even preset importing) would simplify the UI by removing a lot of clutter-controls (words are always clearer than icons)...i'm not sure how you imagine this dropdown button. could you make a mockup?
i'm not sure how you imagine this dropdown button. could you make a mockup?The dropdown is just the standard pedestrian control:
case Combo_FILTERPARSING :
switch (HIWORD(wParam)) {
case CBN_SELENDOK : // Selection is about to change... get current (old) selection (if needed)
case CBN_SELCHANGE : // Selection has actually changed, so apply new filter
When pressing 'Save all & close', it doesn't seem to do any saving? (nor closing):
(https://i.imgur.com/CUS9a32.png)
I find the font sizes in the panels quite unbalanced.
In the presets panel they are so large that longer names can't be read. (unless widening the whole panel)
The preset description panel has a much smaller font that makes it harder to read.
Perhaps have them both at an identical in-between font size?
(https://i.imgur.com/5mmbE7B.png)
no, the problem is not implementation (well, in most cases, and not in this case). the problem is design of UI/UX.i'm not sure how you imagine this dropdown button. could you make a mockup?The dropdown is just the standard pedestrian control:
(https://i.imgur.com/bJAsJZS.png)
The useful part is how the WC_COMBOBOXW/CBS_DROPDOWNLIST control actually works.
my development of your idea: dropdown, clicking adds/removes filter (or another variant: clicking switches current filter, ctrl+clicking adds/removes filter), 1st item resets all filters (it can be named either "reset all" or "no filters"), dropdown list shows all checked filters, and row of compact highlighted/dimmed icons without checkboxes quickly show, which filters are active.That's more or less what I said - though I was just giving an example of "quick and dirty" filtering without worrying about applying multiple filters at once - personally I've never really needed more than one at a time, but I'm simple that way. :) I'm mainly just suggesting a more condensed alternative to 8 consecutive checkboxes - that was a fine idea back when it was just a couple of filters, but now...
MusicBee v3.5.8421.33583P (Win10.0), 29 Jan 2023 9:59:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
at System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
at System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
at System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
at MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
at #=z09qWh4vN1pxXik4I5_AJNtNOHzqd.#=z0kxop_4=.#=z0i39nrE=(ApplicationCommand #=zcmfSZOE=, Object #=z03MCJ4c=, IList`1 #=zV00LM84=)
at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=zQR5oFdUR0lPU.#=zSXhXp0jQU1ix(MouseEventArgs #=zDE4WdZg=)
at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.OnMouseClick(MouseEventArgs #=zDE4WdZg=)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at #=zVKmx8Jq1oMbPbhNevsGwYtg=.WndProc(Message& #=zieEqYDo=)
at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.WndProc(Message& #=zieEqYDo=)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
...while it does indeed save space, I think being able to see exactly what is filtered is better. Also being able to simple tick a filter rather than mouse to open the dropdown and then mouse to the desired option.My idea wasn't just to save space, part of the thought is to "not freak out the newbies" with too many options, like dozens of checkboxes which all do subtly different things. But fine, nobody likes the dropdown idea, I can lose gracefully. :)
MusicBee v3.5.8402.19544D (Win10.0), 29 jan 2023 13:04:
System.NullReferenceException: Object reference not set to an instance of an object.
em MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
em System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
em System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
em System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
em MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
em MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
em MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
em System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
em System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
em System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
em System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
em System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
em System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
em System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
em System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
em System.Windows.Forms.ToolStrip.WndProc(Message& m)
em System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
5.6.8429 is throwing this:A reboot of the PC and the (re)installation of 5.6.8429 seems to have resolved the issue.
this question is completely up to users. Messiaen "complained" that font used in preset list is a bit small. i'm open to suggestions, and am ready to make any font sizes for preset list and preset description.As I said, I find the preset names too large, and the description a little bit to small.
... the current layout (with icons) does provide a popup tool tip when hovering over each. Which for my purposes works well.I really dislike the need to hover over an icon to find out what it does.
I really dislike the need to hover over an icon to find out what it does.I don't disagree on the Whack-A-Mole interplay of the tool tips. I was just pointing out that they exist in case you weren't hovering long enough.
The mockup really seems to address all the issues.If we were discussing Hiccup's first Mock-up (from last week), then I'd agree wholeheartedly. But I have to offer a dissenting vote for this last one - I don't see the need to move anything around so drastically, especially after all the effort that already went into the "Import/Save/Edit" layout.
If we were discussing Hiccup's first Mock-up (from last week), then I'd agree wholeheartedly. But I have to offer a dissenting vote for this last one - I don't see the need to move anything around so drastically, especially after all the effort that already went into the "Import/Save/Edit" layout.Adding the seven text lines with checkboxes takes up more vertical space. Space that isn't really available when leaving the rest of the panel the same.
but considering Hiccup (please take this with humour) by his own admission didn't even know the search-bar existed until a month agoThat's simply the truth.
As for filters... maybe there should be more voices from those (not us) who actually use them? This is a forest-for-the-trees thing to me, yes more options are always a good thing, but the search-bar (which incidentally looks much nicer in its current shortened form) by itself solves many evils.If we would take my previous mock up (that you and me both like), and tweak it a little bit so to add some of the new current filters, I am guessing 4 filters would be the maximum that can be displayed, considering the available space.
So together that would indeed make three filters that could be removed. (in my personal opinion)Options are like nuclear weapons (or a really serious chocolate cake): once invented, they can't be un-invented. Boroda doesn't strike me as a man who likes to remove things. And I don't think they should be removed - I think (like a really serious chocolate cake) they should be harnessed, and embraced. Just slightly hidden away until desired.
And I don't think they should be removedOk, then I misunderstood you.
imagine what MusicBee itself would look like if Steven one day lost his head and decided all filtering will be done similarly!No imagination needed:
...and that one had only two filters.That's because at the time there were only two filters! And then Boroda lost his head and decided filters were like mice - if you see one, you know there's 10 more in the walls just waiting to pounce, and now here we are! :)
Unfortunately I don't have a better solution. :(Just in case you missed it, I edited my previous post (reply #2913) and included a mockup that uses 4 presets, and explaining why (I think) that would be enough.
i've enlarged the font of the preset listI prefer the original font size.
I prefer the original font size.yeah, that was bothering me too. hopefully i've found a fix to this (at 1st glance unresolvable using standard .net controls) issue. it's in the last plugin update.
My OCD kicks in when the bottom of the 'g' in <Tag 1> gets cut off.
I'm not sure I understand why there are both customised presets and user presets.
(but that's probably well-explained somewhere in this thread)
Also, I don't think I will be using 'constrained by playlist' and ''assigned virtual tag function ids' filters.
And also, such presets will probably already get shown when filtering on 'user presets'?
The <Ctrl>-clicking combining filters doesn't seem to work. One filter will work fine, but if I <Ctrl+Click> on another the appropriate icon lights up, but the listview is blank (and no text in combobox). Clicking on any single filter again restores it as expected.works fine here. filters are combined using AND operation, not OR. blank combobox field means "mixed filters". i don't know how to display some text if no exact item (actually, if no item) is selected in combobox.
And just as an odd experiment, <Ctrl+Click> on all filters consecutively again results in a blank listview, but oddly clicking on the "User" filter will randomly enable/disable some other icons, as if it considers such filters are incompatible with each other. Like I said, this part was just playing around."predefined"/"customized" and "user" filters ARE mutually exclusive (because they are combined using AND operation, preset can't be predefined AND user simultaneously).
filters are combined using AND operation, not OR.Ah, ok, that explains it - my mistake, I didn't expect that. I imagine you'll get a lot of confused users by this method, no matter how simplistically you try explaining the difference between an applied logical conjunction vs disjunction. Sometimes rigorous logic is not a good thing when dealing with... people. ;)
Ah, ok, that explains it - my mistake, I didn't expect that. I imagine you'll get a lot of confused users by this method, no matter how simplistically you try explaining the difference between an applied logical conjunction and disjunction. Sometimes rigorous logic is not a good thing when dealing with... people. ;)yes, it may be hard to explain the difference between conjunction vs disjunction a person with no mathematical background.
It's also the opposite of how the previous multi-checkbox filtering worked.no, filters always worked this way.
Most people would "expect" a cummulative system (i.e., all filters selected == no filters selected, regardless of logical "conflicts").maybe, but cumulative system makes almost no sense for preset filtering (imho).
no, filters always worked this way.Sometimes I wonder about my brain... I just checked the version from last week, and (obviously) you're right. Pay me no mind; I wasn't testing with my regular collection of presets before, so I didn't have enough of the varying types to see the distinction. I need a holiday.
i've changed ALR UI/UX to make it more consistent and logical in respect to preset creating, saving new preset, saving (updating) existing preset, and deleting preset. also, it behaves more similar to ASR now.Much improved. The only small thing I can see (in ALR) is that checking/unchecking a preset's "Apply on Startup" status doesn't seem to count as a "changed setting" as far as closing the window is concerned. Not a big deal - almost all of mine only ever need to be run once, so I bind them to hotkeys using the ASR bridge anyway. However, since now checking an ASR preset's Auto-Apply status seems to result in extra Bells-&-Whistles (I'm assuming to draw extra attention to it?), that's a behavioural mismatch.
The only small thing I can see (in ALR) is that checking/unchecking a preset's "Apply on Startup" status doesn't seem to count as a "changed setting" as far as closing the window is concerned.
Oh, and for simplicity, you might shorten the ALR "Calculate ticked presets at startup..." to just say "Apply ticked presets to custom tags on startup" (and roughly the same for the "every 100 changes" option), leaving out the whole "calculate" and "aggregated functions" phrasing.
i guess that all necessary UI/UX updates are done now. still waiting @phred for suggestions on updated readme. then i'll change readme files in plugin .zip, 1st post on this topic, and add-on page.@boroda- do you have the last revision I did? If so, can you PM it to me? Or post it here, if you wish. If you don't have it, can you get me the last one -you- did?
preset list is blocked (and presets can't be ticked/unticked) if ALR detects any modification until you click "save preset" or "undo changes".Unless you tick/untick ALR presets before you do any edits to them. Just open the window, tick one or more (it takes two clicks), then close the window. The "changes" are saved automatically, but there's no indication that a change happened. This is not especially important, but I point it out as an inconsistency.
you are right. at the moment, there is only one variable to store "some modifications are made" state, which blocks the preset list. i simply could add another variable "preset checked states are changed".preset list is blocked (and presets can't be ticked/unticked) if ALR detects any modification until you click "save preset" or "undo changes".Unless you tick/untick ALR presets before you do any edits to them. Just open the window, tick one or more (it takes two clicks), then close the window. The "changes" are saved automatically, but there's no indication that a change happened. This is not especially important, but I point it out as an inconsistency.
i think, no. the latest readme version i have is very old. here what i have now:i guess that all necessary UI/UX updates are done now. still waiting @phred for suggestions on updated readme. then i'll change readme files in plugin .zip, 1st post on this topic, and add-on page.@boroda- do you have the last revision I did? If so, can you PM it to me? Or post it here, if you wish. If you don't have it, can you get me the last one -you- did?
I'll have some time towards the end of the week to look it over, ask you questions, and get it done.
Thanks.
BE CAREFUL! YOU WILL LOSE ALL ALR/LR PRESETS ON PLUGIN UPDATE AND MUST RECREATE THEM.Thanks for that. <Heavy, smothering, doom-laden sarcasm>
BE CAREFUL! YOU WILL LOSE ALL ALR/LR PRESETS ON PLUGIN UPDATE AND MUST RECREATE THEM.Thanks for that. <Heavy, smothering, doom-laden sarcasm>
I don't seem to be able to assign $LR ID's to custom presets. The text field accepts input, I click the "Assign" button next to it, and Save the preset - except when I reopen the ALR window and click on the preset to edit it, the ID text-field is empty, so it doesn't stick. And obviously trying to execute the $LR function results in the curiously helpful "Incorrect $LR() ID!" being assigned to the custom tag instead.
And I'm sure we discussed this before, but why do those Assign/Unassign buttons even exist? Logic suggests that if there's text in the field when the preset is saved, it should be considered assigned, and likewise, if the field is blank, then the ID is considered unassigned when saved. (Also, if you insist on keeping those buttons, their current tooltips still include that deprecated "Aggregated Function" text.)
Why are the default preset names in all capital letters? Weird. Also, since the listview only really allows 6 presets to be displayed (before needing to scroll down), it's awkward that the default ones take up 4 of those slots - I can't even override the sort order (like I can with ASR presets) by prefixing a "_" to my custom preset names.
i didn't think that somebody has more than a couple of custom presets, so haven't implemented preset migration mechanism.Actually I was just joking - while I have more than "a couple" of presets, rebuilding them again gave me a chance to fix a couple of grouping inaccuracies, so all good.
i'd uploaded the plugin several times during last night, maybe i've already fixed this bug.Yep, that was it - seems to work now (odd, both versions were 5.7.8440). Isn't it some kind of programmer's sin to upload changes without modifying the build number? :)
i'll enlarge vertical size of preset list.Maybe not enlarge it so much, just allow custom presets to sit "above" the default ones? I would think a user would be more interested in revisiting the ones they make themselves rather than the default/example presets (except at first, of course).
...(odd, both versions were 5.7.8440). Isn't it some kind of programmer's sin to upload changes without modifying the build number? :)last 4 digits are the auto-generated build number. it's the number of days between build date and 01/01/2000. i've added to plugin version revision number (several digits after build number), it's also auto-generated and somehow relates to build time (i don't know what they exactly mean). also, the plugin version is now displayed at the bottom of plugin menu.
i'll enlarge vertical size of preset list.
Speaking of lists, knowing how much people seem to be upset by little things, I might point out that the descenders are cut-off on the font used in the tag-selection list.i've increased vertical spacing for this list.
(https://i.imgur.com/yfNCkFG.jpg)
Lastly, as a suggestion, when creating a new preset, the "Save field to tag..." always defaults to <Date Created> for some reason. Wouldn't it be better if it defaulted to <Null> on the odd chance that someone creates a preset but forgets to assign this part properly then executes it? At least <Null> won't change anything accidentally.it's just the 1st item in the destination tag list selected, this tag list is sorted alphabetically. earlier 1st item was <null>, later i've added <date created> pseudo-tag, which became the 1st. not a problem, i've set default item explicitly to <null>.
I curiously seem to miss the old "Update/Save Preset" button, since making a preset is often a multi-stage thing, it was nice to be able to "save it" without actually having to "Save & Close" at the same time. I know that it doesn't really matter (it would all be saved at the end anyway), but I was so used to clicking that button that it's weird it's gone. Then again, I'm funny that way, so don't think too hard on it. ;)
$ALR(<URL>,function_id) virtual tag function is renamed to $LR(<URL>,function_id).At this very moment I don't recall what these functions do, but there was &ALR and $ASR.
(i've merged ALR and LR commands into united LR one).I changed it.
you forgot to change 2nd post (which contains function explanations/examples) on cheatseet topic.fixed
i'll enlarge vertical size of preset list.Maybe not enlarge it so much, just allow custom presets to sit "above" the default ones? I would think a user would be more interested in revisiting the ones they make themselves rather than the default/example presets (except at first, of course).
copy your existing user presets, they will be placed at top of preset list, and delete original presets (at the end of list).
...it's the number of days between build date and 01/01/2000
That was surprisingly painless - thanks for that, and thank you for all your recent work on this, your baby is growing up nicely. ;)
Messing with the build number seems to have altered the spacing a bit at the bottom of the settings menu - it's a little out of whack.
(https://i.imgur.com/v81eHD5.jpg)
Off-topic: And sure enough, there have been 8442 days since. Is this something Visual Studio does?
I love weird metrics... my personal favourite is how Windows API derives timestamps - filetimes in Windows are actually stored as the number of 100-nano-second intervals since January 1st in the year 1601. Yes, the 17th-century, as in 400 years ago - older than Bach! For the curious, 100-nano-seconds is basically 1/10,000th of a millisecond - so the accumulated (dare I say 'aggregated'? ;) ) number of them in the last 4 centuries amounts to - well, a heck of a lot; we can be glad that number's not used as a build metric. :)
It's not working at all for me.You are using an older version of MusicBee.
It's been awhile since I used them, but the two predefined presets "Replace repeating spaces" and "Replace underlines with spaces" both seem to be missing the required actual space-character (for replacement) in their definitions - resulting in either all spaces being removed, or all underlines being simply stripped (not replaced). I tested with a fresh install of the most recent version's ASR Presets folder.sorry, don't know how this could happen. i've fixed, will upload fixed version later today.
I know these presets used to work properly, so something might have broken when you revamped the preset-installing procedure recently? The oldest xml's I have from backup are only from mid January (they're bad too), so the definitions might have been corrupted for awhile.
Strange.
Edit: Actually, this is odd - if I "fix" the preset by copying it and editing back in the necessary space character, the preset works, and if saved will continue to work unless MB itself is restarted, at which point the preset fails because the "fixed" space character is gone from the definition again!
Hey Man!never use just album tag in LR, mb itself treats "album" as a combination of album/album artist tags. do the same in LR. define 2 groupings: album/album artist (displayed!) instead of just album.
Been using Musicbee for years and love it. My library is big enough 53 000 tracks, full albums only all in Flac. I keep track of it on a spreadsheet and have noticed there are discrepancies in the library reports where the results don't match up with reality. Upon further inspection, I've found that the report skips Album titles that are the same....example "Live" or "Greatest Hits".
It's not really important unless you're afflicted with asperger's.....:)
As FZ said....."Music (bee) is the best !
Hi,send me 1 of problem tracks (if ratings are stored in tracks), and you "copy" preset (select preset and click "export..." button).
since yesterday I got a little problem with additional tagging tools. I have a template which copied some tags like artist, genre i.e. and also rating tag.
It worked very well till yesterday. All ratings copied fine, but rating tag. I can do what I want, but it makes always a 3-star rating. Has anyone a solution?
Best regards
It's been awhile since I used them, but the two predefined presets "Replace repeating spaces" and "Replace underlines with spaces" both seem to be missing the required actual space-character (for replacement) in their definitions - resulting in either all spaces being removed, or all underlines being simply stripped (not replaced). I tested with a fresh install of the most recent version's ASR Presets folder.i've fixed it:
I know these presets used to work properly, so something might have broken when you revamped the preset-installing procedure recently? The oldest xml's I have from backup are only from mid January (they're bad too), so the definitions might have been corrupted for awhile.
Strange.
Edit: Actually, this is odd - if I "fix" the preset by copying it and editing back in the necessary space character, the preset works, and if saved will continue to work unless MB itself is restarted, at which point the preset fails because the "fixed" space character is gone from the definition again!
i've fixed itUmm... no, not so much - the problem remains (I tested on a fully replaced set of presets, just in case, and the plugin version seems to remain unchanged [5.7]). There is something which is still removing the ' ' character from the actual "Replace with" field, like you're cleaning excess whitespace during installation or something.
Works great, but with one error - if there is comma in tag, for example:Request for new feature or extend current one
In current function repunct it only translate some special characters to some of thisCodeFull definition is in AutoLibraryReports.cs rows starts with 827<< " [ ((
It is possible to do something similar with letters? For example I want to translate artists like this:
Céline Dion -> Celine Dion (é -> e)
Christina Stürmer -> Christina Sturmer (ü -> u)
Horkýže Slíže -> Horkyze Slize (ý -> y, ž -> z, í -> i)
Maybe this could help with specifying characters
https://stackoverflow.com/questions/18123501/replacing-accented-characters-with-plain-ascii-ones
https://stackoverflow.com/questions/286921/efficiently-replace-all-accented-characters-in-a-string
i've created new asr preset "Transliterate Unicode characters of <Tag 1> to ASCII characters". 'import new' asr presets after updating plugin. you need to install this plugin (https://getmusicbee.com/forum/index.php?topic=37276.0) to use new preset.
Works great, but with one error - if there is comma in tag, for example:
Money, Money, Money -> $TransliterateToAscii(Money, Money, Money)
No Woman, No Cry -> $TransliterateToAscii(No Woman, No Cry)
Don't Worry, Be Happy -> $TransliterateToAscii(Don't Worry, Be Happy)
\@eval[[$If(<Genre>=Classical,1,0)]]
Probably related to the recent $Transliterate fix.
I think I've done it.
I've just replaced all " with "" and doubled up all the commas and it now seems to work. I'll keep testing.
For, if I change it to this:
\@eval[[$If($TagContainsAnyString(<URL>,,Lyrics,,""\@1""), [Explicit],)]]
It just adds $If($TagContainsAnyString(<URL>,Lyrics,"bad|words"), [Explicit],) to the existing title.
I'm confused!
could you be more specific? you wrote:I think I've done it.
I've just replaced all " with "" and doubled up all the commas and it now seems to work. I'll keep testing.
but you have already replaced " by "" in this example (which didn't work for you):For, if I change it to this:
\@eval[[$If($TagContainsAnyString(<URL>,,Lyrics,,""\@1""), [Explicit],)]]
It just adds $If($TagContainsAnyString(<URL>,Lyrics,"bad|words"), [Explicit],) to the existing title.
I'm confused!
I think the end of his eval had two comma's which were overlooked for doubling... ""\@1""), [Explicit],)]]
Which is understandable as if you copy his full eval into the preset editor text control, those last few characters would be hidden unless you intentionally scroll through to the end. You probably never envisioned anyone using excessively long replacement strings when you originally made the box. I contemplated once about requesting you to make the preset editor WS_THICKFRAME compatible, but considering there's a few dozen controls in there to link, it hardly seemed a practical amount of effort for something so rarely needed.
Plugin update:Thanks for the update. It is strictly a coincidence that the plug version is 5.7.8554 and the latest MB version is 3.5.8554?
I knew you were going to take that too seriously - it really was just a comment and not a real request. :)
I think this is just a DPI issue, but the new vertical scale is slightly off (the bottom OK/Cancel buttons are cut and the lower "replace" field for all 5 steps are also slightly sheared):
(https://i.imgur.com/YwaCdmx.png)
But other than that, the horizontal scaling works as expected.
what dpi scaling are you using? all is fine for me at 100% and 125%.I use 125% - all I can say is that previous versions rendered fine. I can live with the slight cutoffs on the "replace" text boxes, but the main OK/Cancel buttons are rather important. I have done all the usual tricks: restart MB, reinstall plugin, disable theme colours, restart system, etc., etc., but it remains the same. The inconsistencies even remain when switching down to 100% DPI. I should mention that this is a Win7 system, but again, all other versions rendered more-or-less fine.
...but i've tried to fix it. could you check if it's fixed now?Well, now the OK/Cancel buttons are only 50% cut-off, whereas before they were almost 80% missing, so they are "useable" at least. Curiously the "replace" lines remain exactly the same. I do understand the "if you can't reproduce it you can't fix it" dictum, so I can live with it and just suffer in my stubborn, and ever-shrinking, Win7 world. ;)
phred, it's a visual glitch with your color scheme. actually, export/edit buttons are grayed-out on your screenshot, which is correct.Okay - I see that the "white" buttons can be clicked.
are you using "use skin colors" plugin option?No, but I am now. I assume this was due to your change making the window and fields scalable, yes?
The question becomes, with two presets directories (\plugins\ASR Presets and \AppData\Presets) is there any reason to keep the directory that's under plugins?Well, if you (like me) go mad sometimes and delete a bunch of unused presets (removing clutter makes finding the ones I use regularly much easier), the Plugins\ASR Presets folder still retains the original versions so they can be restored quickly without having to reinstall the plugin again. If, on the other hand, you never delete superfluous presets, then I guess you don't need to keep the originals.
It's distantly related to the Chicken-And-The-Egg School of Philosophy. :)Isn't everything? :-)
No, but I am now. I assume this was due to your change making the window and fields scalable, yes?
Additionally, I've always had my presets in MusidBee\AppData\ASR Presets. Now when I try to import them, an error is thrown "Could not find a part of the path \MusicBee\Plugins\ASR Presets. I moved the to the "new" path and got them imported. But why all of a sudden did the path change?
And lastly, prior to your major rewrite of the plugin, the file names of the presets looked similar to "!{30a13189-7eb4-4f3b-9b42-c1af79a22555}.asr-preset.xml". After the rewrite, and importing the presets, the "original" file names were renamed to something more helpful like "Multiple search & replace.asr-preset.xml". After my current import all, both sets of presets are in the directory? So instead of have 111 presets, I have 222. Again, is this something I did incorrectly? How do I "convert" the original file name to the more understandable file name?
The question becomes, with two presets directories (\plugins\ASR Presets and \AppData\Presets) is there any reason to keep the directory that's under plugins? Especially seeing that it would be recreated when unzipping the next update.
I use 125% - all I can say is that previous versions rendered fine. I can live with the slight cutoffs on the "replace" text boxes, but the main OK/Cancel buttons are rather important. I have done all the usual tricks: restart MB, reinstall plugin, disable theme colours, restart system, etc., etc., but it remains the same. The inconsistencies even remain when switching down to 100% DPI. I should mention that this is a Win7 system, but again, all other versions rendered more-or-less fine.
now (and already for a while), mb has "add plugin" button for automatic plugin installation to "<mb app data>\plugins" (always writable, not only for portable mb) folder.As for my alleged issues, you can leave things as they are. I am now using the method Messiaen stated.
now, i could remove the need for "plugins\asr presets" folder, but i'm not sure if it would be better than current implementation.
Well, now the OK/Cancel buttons are only 50% cut-off, whereas before they were almost 80% missing, so they are "useable" at least. Curiously the "replace" lines remain exactly the same. I do understand the "if you can't reproduce it you can't fix it" dictum, so I can live with it and just suffer in my stubborn, and ever-shrinking, Win7 world. ;)
(https://i.imgur.com/tdterD6.png)
notice that now you can also slightly enlarge preset editor window vertically, if new version doesn't work acceptably)Well, you fixed the "replace with" fields :) , they are now spaced properly, but there's no change at all in the Ok/Cancel button cutoffs. And no, the window doesn't enlarge vertically - the cursor changes (to "adjustable") when mousing over the top/bottom border, but it can't be dragged larger/smaller. (Horizontal works as expected.)
also, are there similar visual glitches in the main ASR window on your pc?They are not as pronounced - only a couple of overlaps in the "middle" panel, where the <Custom Text 3> and <Custom Text 4> fields are (but they are perfectly useable). The rest of the main window is fine. These particular glitches aren't recent, they have been there as long as I remember - I just never mentioned them as they are minor and never interfered with anything.
And no, the window doesn't enlarge vertically - the cursor changes (to "adjustable") when mousing over the top/bottom border, but it can't be dragged larger/smaller.
now this maximized window must not cut off ok/cancel buttons tooThe Devil is in the details - works as expected.
So, instead of "DOUBLE QUOTES" you should probably say something like "put it in two sets of double-quotes", or "double-double quotes", or even "quadruple quotes", though the last two are neither colloquially correct or properly descriptive.A not-native English speaker here.
The term 'double quotes' is plural, so I would think it is obvious there need to be two double quotes.It's NOT actually plural in this sense. A quoted phrase is "enquotated" between two single-"double quote" characters, so "put it in quotes" and "put it in double-quotes" actually mean exactly the same thing. (Trust me, they really are the same.) Theoretically, you would technically say "enclosed with double-enquotation", but that's even weirderererer!
A quoted phrase is "enquotated" between two single-"double quote" characters, so "put it in quotes" and "put it in double-quotes" actually mean exactly the same thing.So to you 'between quotes' and 'between double quotes' is the same thing?
Yes, because the "double" in "double quotes" is descriptive, not literal. To be literal, you'd still have to say double-double-quotes, which would then mean 8 apostrophes (single quotes), or 4 double-quotes. Yuck!I specifically wrote 'between double'.
To prevent time being wasted on some purely academical issue, could you give a link to a real-world example where somebody misunderstood the term 'double quotes', used two single quotes and couldn't figure it out?Well, technically, by even bringing this issue up in the first place, I myself am the perfect example. I don't interpret words literally, I interpret them figuratively. A non-native speaker in any language would "probably" interpret literally, so from that point of view you're "accidentally correct", if that makes any sense.
I can not imagine that to be a correct phrasing of putting something between single quotes.No, I am not related to that other user (whatever his name was) who caused you such a tizzy last week. :)
so from that point of view you're "accidentally correct",In my language I would be correct both accidentally and on purpose.
There's an old joke that is often used to show why the element of Aristotelian-logic called a SyllogismThanks for that write-up. Funny and interesting, and food for the grey cells for sure.
Are you a fan of Free-Jazz? When I was younger I used to dismiss it as noisy nonsense, but as I get older I begin to find pleasure in the challenge of it.Thanks for asking.
If you wish to continue discussion double-quotes, please take it to "Beyond Music Bee"Yeah but, no but, the double-quote thingy directly refers to how AT&RT describes that matter.
Due to the vagaries of English, the _"_ symbol is actually called "double quotes", while the _'_ apostrophe symbol is "single quote". So, when you say "put it in double quotes" you're actually just saying surround it in a single set of quotation marks, which is obviously the wrong syntax.
So, instead of "DOUBLE QUOTES" you should probably say something like "put it in two sets of double-quotes", or "double-double quotes", or even "quadruple quotes", though the last two are neither colloquially correct or properly descriptive.
God knows why English became the de facto internet standard - almost anything else would have probably been better.
1st of all, you CAN'T sort the output FILE using LR. table can be sorted only in preview (by clicking on column header), and this sorting is intended only for easy filtering results by some condition (e.g. write only those strings to file which has some field equal to/greater than/etc. some value). to sort the OUTPUT FILE (this sorting will be also default sorting of preview table), you need to sort MB VIEW you are using, when you generate the report.
2nd. what do you mean by "custom tag"? how do you set it? or do you mean "virtual tag" actually?
3d. from your 1st screenshot, LR, obviously, treats the <size> field as floating point numbers, and this is correct (because LR treats ANY number as floating point number). the problem is that the actual numbers are too big (all these E+19, E+20 ,... mean *10^19, *10^20 - multiply by 10 to the power of 19, etc.).
i suspect this is happening due to your windows regional settings. open mb menu> edit> prefs> plugins> tag tools> configure, check the measurement units.
if this doesn't solve the problem, create a static playlist containing 1 track, generate a report for it, and post screenshots of mb playlist view (containing <size> field) and of report.
EDIT:
you are using old plugin version. i've recently rewritten LR almost from scratch (and consolidated ALR/LR into one LR command). update plugin:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
but 1st, post a screenshot of preview table displaying album size using bytes. i want to make sure that numbers are not senselessly big (these E+19, E+20, etc.).This version is working, values on the table aren't unreasonably huge:
keep in mind that Sum(Size) will be expressed in bytes. to see e.g. megabytes, use virtual tag "$Round($Div(<Custom1>, 1048756),1) MB"I think MusicBee isn't using the 1024 x 1024 bytes definition so I just had to change your conversion to "$Round($Div(<Custom1>, 1000000),1) MB". Now the Virtual tag is calculating the Album Size correctly.
keep in mind that Sum(Size) will be expressed in bytes. to see e.g. megabytes, use virtual tag "$Round($Div(<Custom1>, 1048756),1) MB"I think MusicBee isn't using the 1024 x 1024 bytes definition so I just had to change your conversion to "$Round($Div(<Custom1>, 1000000),1) MB". Now the Virtual tag is calculating the Album Size correctly.
Can I use a Virtual Tag Function to access the byte values directly from my Virtual Tag instead of saving these values into Custom1 tag?
And last question do I have to auto-apply the preset on every MusicBee startup or is there a way for the calculation to be called dynamically only if the album changes/new song is imported.
No, it's not resolution in pixels (1024px*1024px) in virtual tag formula, it's file size in bytes/KB/MB/etc (K usually means 1024 for file sizes, M - 1024*1024, etc. for file size, not for resolution, which doesn't have any direct relation to file size). but anyway, LR has been incorrectly working with units of measurements. I've fixed this, see download link at end of post.Sorry, there was a miscommunication here. We have 1 MB = 2^20 = 1024 x 1024 = 1,048,576 bytes but there is another definition for MB that is: 1 MB = 10^3 =1000 x 1000 = 1,000,000 bytes.
2. Treating of units of measurements by LR is fixed. now <Size> field equal to "700 KB" for individual file (before summarizing) is treated as "700 * 1024 B", previously it has been treated as "700 * 1000 B". the same for <Bitrate> field and other similar fields.Oh, so the issue was what I asked about, LR was using the 1MB = 10^3 bytes definition not the classic 1MB = 2^20 bytes.
I don't know if boroda is willing to add another filter option and icon, but adding an option to save "favorites" might be a nice addition. This would make it easier to find often used presets. Yes, the search field helps, but bookmarking a favorite would be really nice.
i've added the concept of "favorite presets". they can't be filtered, but they be always sorted 1st in preset list:Thanks boroda. About to test it in a few minutes.
Curiously, when trying to make more room in the bottom preview-panel (now that things at the top are easier to find), I've noticed that when I adjust the "invisible" splitter (just above the "preset management" panel), the custom size is not saved properly.
If you repeatedly close the ASR window, then open it again, the preview panel gets progressively smaller by a few lines (and the top preset-panel gets correspondingly larger by a few lines each time) until eventually the original size of the panels is restored. A strange bug.
i'll stop on this version if it's working acceptablyAppears to be completely fixed. Thank you.
I am using MusicBee version 3.3.7261.The version of MB that you're using is three years old. Update to the latest 3.5 version from the first forum topic and then try using the plugin again.
Something not-so-important that has been triggering some of my overly sensitive brain cells for a while:
In MusicBee's confirmation panels, 'Yes' usually means 'save', 'No' usually means 'don't save':
(https://i.imgur.com/oofvdgR.png)
But AT&RT has confirmation panels that behave differently. (opposite)
E.g. here, contrary to MusicBee's behaviour, 'Yes' means 'don't save'
(https://i.imgur.com/u0VndUC.png)
And 'No' would probably better be labeled as 'cancel'?
I think it would be good if this was aligned with MusicBee's behaviour?
not sure if it's important (or even better), but i've changed this:I think he meant something more along the lines of "One or more presets ... / Save before closing?"
Curiously, pressing the Cancel button is also remembered (not a complaint! - just an observation).
do you think it's worth to disable this?God no, don't worry about it. Besides, it's important to cater for the more indecisive users who get confused about what colour socks to wear on a Thursday. Everyone needs a little love, especially those who fall into their own decision-loops. ;D
Ahh, ok. i've changed message text to "do you want to save changes?" and have made 3 buttons: yes, no, cancel.Thnx, I think this is much better.
3. I checked the tick the assigning hotkey for the preset (hoping it is ALT+D)No, after having ticked the hotkey checkbox for a preset, you then need to assign a specific hotkey to it in MusicBee itself.
- $2Remix
\s*\((.*)Remix\)$
- $1Remix
ok, change replace field toCode- $2Remix
you can copy this exact string (including all required spaces) by clicking "copy" pictogram on the right.
I am trying to find a way to design an UI for this plugin . to improve the UI (less coding more buttons). I will give a feedback once i have sketched something
i've changed my previous post when you were replying, reread it.
Just discovered an odd bug from the stock Transliterate to ASCII preset. If the preset is applied to the following title (note the unicode quotation marks and the unicode hyphen character):
Grave, ma non troppo tratto (“Muß es sein ”) – Allegro (“Es muß sein !”)
the returned title becomes:
Grave, ma non troppo tratto ("Muss es sein " – Allegro (“Es muß sein !”))
i've fixed another \@eval[[]] bug related to tag values containing quotes. Now, if you want to pass a string to a virtual tag function as is, you must put it in DOUBLE quotes, e.g.
\@eval[[$IsNull(""$1"",,NULL,,$1)]]
instead of
\@eval[[$IsNull("$1",,NULL,,$1)]].
in MB 's <Ctrl-R> search/replace, the first tag in the list to choose from is "Any Field", and I've found that to be extremely useful recently. Obviously, ASR presets can be made to reference many tags in one preset, but it still requires one to anticipate which fields are most likely.
...
What do you think?
Why wasn't it suggested years ago?
… And I must thank Hiccup for his most recent suggestion about changing the "Some presets have changed" behavior - just in the last week alone I must have breezily clicked though that modal enough times to make even the pope doubt his faith. Why wasn't it suggested years ago? A Godsend.)Good to hear I'm not the only one that appreciates these small (slightly OCD) improvements implemented by boroda.
...but it's now experimental...That's the understatement of the century. It's beginning to dawn on me just how dangerous this option actually is - if combined with auto-organizing it's capable of completely decimating whole albums and sending them in pieces to the four corners of the kingdom. As such, while it's still experimental, I'd make it harder for people to actually use it, like maybe half-disabling the "apply" button for now and just allowing previews. It does seem that setting a hotkey to one does not actually apply the results, though the status-bar says it was applied - this may be unintentional, but it's good for safety. Same caveat would apply to auto-applying - not sure if it works or not, but might be wise to disable that too, just in case.
That's the understatement of the century. It took a little while for me to interpret your description above (not a criticism of your English at all), once I figured out all the qualifications, it makes sense - however, (and read this as a joke, please) "I won't be asking you to give a general lecture on lamda-expressions in the near future". :)
like maybe half-disabling the "apply" button completely for now and just allowing previews. It does seem that setting a hotkey to one does not actually apply the results, though the status-bar says it was applied - this may be unintentional, but it's good for safety. Same caveat would apply to auto-applying - not sure if it works or not, but might be wise to disable that too, just in case.
The "Always preserve these tag values" list is invaluable, to be sure. If you decide to keep this <All Tags> option permanently, there might need to be a similar list where it's "only apply to" instead, as sometimes the "all" in "all tags" is a bit too many. :)
Also, unrelated observation, in the description for "Always preserve" it says to separate the values with ";;" but using two semi-colons actually breaks the list (as in only the first item is preserved, the rest are applied). It only works as described when using a single semi-colon to separate the list.
i'm going to completely disable auto-applying of such presets, explicitly disable hotkeys for them, and disable applying of them without explicitly generating preview at first.
$If($RxReplace(<Artist>,".*\[(.*)\]$","$1")=<Artist>,,$RxReplace(<Artist>,"(.*)\[.*\]$","$1"))
$If($RxReplace(<Artist>,".*\[(.*)\]$","$1")=<Artist>,,$RxReplace(<Artist>,".*\[(.*)\]$","$1"))
hello, calderino. yes, it's possible. i'm not sure if you mean "artist" or "album artist" tag, i will suggest using "artist" tag. also, you can use any virtual tags instead of <virtual3> and <virtual4> in my example.
1. define <virtual3> as:Code$If($RxReplace(<Artist>,".*\[(.*)\]$","$1")=<Artist>,,$RxReplace(<Artist>,"(.*)\[.*\]$","$1"))
<virtual3> will show translated part of artist name if Japanese part is present (otherwise <virtual3> will be empty).
2. define <virtual4> as:Code$If($RxReplace(<Artist>,".*\[(.*)\]$","$1")=<Artist>,,$RxReplace(<Artist>,".*\[(.*)\]$","$1"))
<virtual4> will show Japanese part of artist name if it's present (otherwise <virtual4> will be empty).
3. create Library Reports preset: define 2 groupings: virtual4, virtual3.
this preset will show every unique combination of Japanese artist name and translated artist name, sorted by Japanese name, so you will be able to easily see if there are several translated names for every Japanese name. 1st line of report wil be empty, ignore it, it corresponds to all artists which don't have brackets in their names.
One last question, if there are multiple artists in the tag, virtual4 only uses the last japanese name.
How can I adapt the virtual tag to take into account several artists?
i'm not sure if there is a workaround for this, i must think about this more, but firstly i need to know how Japanese artist names are formatted in <artist> tag, i.e. are they separated by comma, or by comma followed by space, or by semicolon, etc.?
There used to be a preset titled along the lines of “Copy tag 1 to tag 2 if tag 1 isn’t empty”. I haven’t been able to find it anywhere for a while now but it used to be in the list of presets supplied with the plugin. Do you still have this preset anywhere?
They are multiple artist entries, but in the Display Artist they are separated by a semicolon:
ex. : displayArtist="My Artist [JAPANESE]; My Other Artist [OTHER JAPANESE]"
They are multiple artist entries, but in the Display Artist they are separated by a semicolon:
ex. : displayArtist="My Artist [JAPANESE]; My Other Artist [OTHER JAPANESE]"
no, there is no solution for multiple entries per tag right now. but you gave me an idea how i can improve LR (also, to take into account your case). though, not sure when i make this improvement.
I want to know if this is possible to do with the plugin:In the short time that I've been here, I have witnessed little to no requests that this plugin has failed to deliver a solution to.
I have my Japanese artist defined as "Translated Name [Original Name]", for example "Hashimoto Yukari [橋本 由香利]".
I want to find typos in the artist names by comparing the Japanese part of the tag and then comparing the English part.
i'm not sure which version i've kept supports both old and new asr preset formats, but you could try these versions:
https://www.mediafire.com/file/jv6zni7mceena0a/mb_TagTools_2022-06-08.zip/file
https://www.mediafire.com/file/2zcdwmoaphffbtc/mb_TagTools_2023-01-06.zip/file
------------------
check if presets are converted to a new format by exporting one of them. The exported new format preset must have the file extension ".asr-preset.xml", not ".ASR Preset.xml".
this version should auto-convert old ASR presets to new ones:Hi.
https://www.mediafire.com/file/cwwtzg1bmy532j6/mb_TagTools_2023-06-26.zip/file
no need to export converted presets. if only to check that they are converted to a new format or for backup purposes.
But - How do you check for converted presets ? I see
\Plugins\ASR Presets
which holds 221 xmls (with alphanumerical cryptic names). But, there's nothing I can identify as converted presets as such...?
...we have 20 ASR hotkey slots to fill now, which is great as I used all 10 before. Just a heads up that if you update, you will need to re-assign your ASR hotkeys most likely as well.
you can simply check the double-extension of any preset (because they all will have the same extension): new format presets must have the extension ".asr-preset.xml" (old format presets have the extension ".ASR Preset.xml").Thanks for the insight! And the awesome component of yours of course!
I assume I lost the hotkey presets as I updated to v7, which then had no presets at all (without the conversion-abillity), triggering an edge case with user asr tied to hotkeys (but who knows - the only observation I'd have was that the MB hotkey editor complained, when re-assigning the presets, that a given hotkey I had previouslty assigned, MB warned me that this is already set to "*" [iirc] hinting at a "ghost" hotkey of the previous ASR hotkey... [as the hotkey editor wasn't listing them anymore when there were no presets with v7 - they did re-appear once I re-assigned them as hotkey-able in ASR in the conversion capable version of the tools])....we have 20 ASR hotkey slots to fill now, which is great as I used all 10 before. Just a heads up that if you update, you will need to re-assign your ASR hotkeys most likely as well.
Strictly speaking, it's not true (in the case of sequential plugin version updates). usually, presets must be correctly auto-updated, and all assigned hotkeys must be kept.
yes, i agree that removing support for old preset formats (either ASR or LR) can be very uncomfortable, but i was trying to keep the old structures required for old format presets and the auto-conversion code as long as i could.
maybe it's worth to rename it to something more short until it's too late? e.g. $CharSeq() or $CharN()?$CharN() seems good. Or maybe $CharRep()
glad to help
i saw your huge formula and guessed the most common application of this function. so, maybe it's worth to rename it to something more short until it's too late? e.g. $CharSeq() or $CharN()?
i've renamed it to $CharN(code,times)
hiccup, could you update your topic on the "tips & tricks" board and give a short description of the main purpose of this function (that it's strictly a service function)?Thanks for adding this function.
Steven or boroda,CodeMusicBee v3.5.8669.34304P (Win10.0), 6 Oct 2023 18:06:
System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Windows.Clipboard.Flush()
at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
at System.Windows.Clipboard.SetDataInternal(String format, Object data)
at System.Windows.Clipboard.SetText(String text, TextDataFormat format)
at System.Windows.Clipboard.SetText(String text)
at MusicBeePlugin.CopyTagsToClipboardCommand.CopyTagsToClipboard(Int32 tagSet)
at MusicBeePlugin.CopyTagsToClipboardCommand.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Not sure if this exception is from MusicBee api or from ATRT plugin.
My understanding is thatCodeshould be replaced byClipboard.SetText(data);
Codeto stop this issue.Clipboard.SetDataObject(data);
Hope I'm correct and that helps.
I’m certain I recall a ASR preset that only copied tags from <Tag 1> to <Tag 2> if <Tag 1> wasn’t empty. Is there any possibility of this being added to the preset bundle?i don't recall such preset and can't imagine how it could be implemented.
Would it be possible to amend one or both existing $TagContains functions to accept a partial/exact parameter? This would allow users to find exact-string matches instead of only partial-string matches.
As a simplified example of what I mean, the current behavior is for $TagContainsAnyString(<URL>,Genre,Pop|Rock) to return T for the exact matches of Pop and Rock in the Genre tag. It also returns T for partial matches like Synthpop, Hard Rock, etc.
As per post here:Steven or boroda,CodeMusicBee v3.5.8669.34304P (Win10.0), 6 Oct 2023 18:06:
System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Windows.Clipboard.Flush()
at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
at System.Windows.Clipboard.SetDataInternal(String format, Object data)
at System.Windows.Clipboard.SetText(String text, TextDataFormat format)
at System.Windows.Clipboard.SetText(String text)
at MusicBeePlugin.CopyTagsToClipboardCommand.CopyTagsToClipboard(Int32 tagSet)
at MusicBeePlugin.CopyTagsToClipboardCommand.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Not sure if this exception is from MusicBee api or from ATRT plugin.
My understanding is thatCodeshould be replaced byClipboard.SetText(data);
Codeto stop this issue.Clipboard.SetDataObject(data);
Hope I'm correct and that helps.
This occurs when using 'Copy Tags to Clipboard'
Used a couple of old mb_TagTools.dll's that I had.
5.5.8403 is the last one I have that 'Copy Tags to Clipboard' doesn't throw an error.
5.8.8577 and newer all throw an error.
@boroda, do you happen to keep a changelog from each version of AT&T?
I am going to be jumping from v5.7.8442.39379 to the latest (once the Copy Tags to Clipboard issue is sorted out) and I'm a bit overwhelmed by the number of additions that have been made since then.
Even if it's in Russian, I'll use Google Translate to interpret it and reference any questions I have here.
Hey,
I have just downloaded mb_TagTools_latest.zip from https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
and I have read the description that "See the "README FIRST!" file inside this folder for instructions on adding/updating/removing the plugin."
However I do not see such a file in an archive. :(
How do I install the plugin?
I have tried to add it using MusicBee's "Add plugin" button in preferences, now I see a new configuration window. However menu entry "Tools -> Additional Tagging & Reporting Tools" does not work - nothing happens when I click it.
What am I missing?
It appears I had to upgrade MusicBee to the last version (3.5) (I had 3.4) to get menu "Tools -> Additional Tagging & Reporting Tools" working.
Now however I cannot figure out how to use the "Library Reports". I open it, select "LIBRARY TOTALS", click "Preview" and nothing happens.
A progress bar would be nice if the tool is doing something.
In "Additional Reporting and Tagging Tools / Library Reports," no matter which HTML "Format" I choose for export, it always exports to csv. What might I be doing wrong, or is this an issue others have experienced? Thanks.
As per post here:Steven or boroda,CodeMusicBee v3.5.8669.34304P (Win10.0), 6 Oct 2023 18:06:
System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Windows.Clipboard.Flush()
at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
at System.Windows.Clipboard.SetDataInternal(String format, Object data)
at System.Windows.Clipboard.SetText(String text, TextDataFormat format)
at System.Windows.Clipboard.SetText(String text)
at MusicBeePlugin.CopyTagsToClipboardCommand.CopyTagsToClipboard(Int32 tagSet)
at MusicBeePlugin.CopyTagsToClipboardCommand.buttonOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Not sure if this exception is from MusicBee api or from ATRT plugin.
My understanding is thatCodeshould be replaced byClipboard.SetText(data);
Codeto stop this issue.Clipboard.SetDataObject(data);
Hope I'm correct and that helps.
This occurs when using 'Copy Tags to Clipboard'
Used a couple of old mb_TagTools.dll's that I had.
5.5.8403 is the last one I have that 'Copy Tags to Clipboard' doesn't throw an error.
5.8.8577 and newer all throw an error.
earlier plugin versions used win32 ClipboardSetText() function, but this led to tiny memory leaks. Later, i've changed it to .net function, which is working fine on my pc. but if this causes problems, I could revert to old implementation.
Wouldn't it be a solution to create a virtual tag that outputs <Tag 1> and <Tag 2> combined:I’m certain I recall a ASR preset that only copied tags from <Tag 1> to <Tag 2> if <Tag 1> wasn’t empty. Is there any possibility of this being added to the preset bundle?i don't recall such preset and can't imagine how it could be implemented.
Is there a chance the 'use MusicBee skin colours' implementation could be improved a bit so that it works well for dark skins?
(https://i.imgur.com/PEULVQNm.jpg) (https://i.imgur.com/PEULVQN.png)
Wouldn't it be a solution to create a virtual tag that outputs <Tag 1> and <Tag 2> combined:I’m certain I recall a ASR preset that only copied tags from <Tag 1> to <Tag 2> if <Tag 1> wasn’t empty. Is there any possibility of this being added to the preset bundle?i don't recall such preset and can't imagine how it could be implemented.
virtual tag
Copy tag 1 to tag 2
formula
$If(<Tag 1>="",,$If(<Tag 2>="",,<Tag 1>"; "<Tag 2))
and then have Advanced Search & Replace write that virtual tag to <Tag 2>?
(https://i.imgur.com/Vh2wFnm.png)
it's already the best i've succeeded in doing. much better than it was initially. maybe i can make disabled text less dark. do you think it helps?Absolutely. My concern is mostly about (un)readability.
copy 'copy tag' preset and adjust required "(?)" option (read tooltip over checkbox).(https://i.imgur.com/KiwB1gD.png)
you are right! i forgot that ASR supports VT expressions. but this already doesn't matter. i've added 1 new option to the dedicated 'copy tag' command to preserve non-empty destination tags, and 2 new options to ASR…Dizza17 must be pleased, going from zero options to two options within 30 minutes ;-)
It appears I had to upgrade MusicBee to the last version (3.5) (I had 3.4) to get menu "Tools -> Additional Tagging & Reporting Tools" working.
Now however I cannot figure out how to use the "Library Reports". I open it, select "LIBRARY TOTALS", click "Preview" and nothing happens.
A progress bar would be nice if the tool is doing something.
most likely you need mb latest patch from here: https://getmusicbee.com/patches/
A request @boroda:
In the past AT&RT had a $log function, but I believe you removed it because you thought it was not used by anyone, and couldn't remember why it was implemented in the first place.
But...
I am currently trying to create a virtual tag that needs the ability to convert the decimal track peak value to dB's, and I found that that needs a logarithmic function.
(I believe it is specified as 'base 10' in this case)
As per post here:
This occurs when using 'Copy Tags to Clipboard'
Used a couple of old mb_TagTools.dll's that I had.
5.5.8403 is the last one I have that 'Copy Tags to Clipboard' doesn't throw an error.
5.8.8577 and newer all throw an error.
earlier plugin versions used win32 ClipboardSetText() function, but this led to tiny memory leaks. Later, i've changed it to .net function, which is working fine on my pc. but if this causes problems, I could revert to old implementation.
try this version:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
Would it be possible to amend one or both existing $TagContains functions to accept a partial/exact parameter? This would allow users to find exact-string matches instead of only partial-string matches.
As a simplified example of what I mean, the current behavior is for $TagContainsAnyString(<URL>,Genre,Pop|Rock) to return T for the exact matches of Pop and Rock in the Genre tag. It also returns T for partial matches like Synthpop, Hard Rock, etc.
but how "exact strings" must be separated? what can be delimiter? only spaces? semicolons? Something else?
new version available. i've done all i could to improve skinning support. i consider this version to be beta because i have tested it with a few skins onlyThanks for all your troubles with this.
(functionality has not changed at all except for the new function $Lg(number)):Great, thank you!
2. it's disabled text. Earlier, this color was dim and dark, now it's light dim and light (it's for dark skins). how do you think disabled text must look? some mockup?See the difference between the two 'disabled' lines in the skin, and the 'disabled' elements in the plugin:
as for the font, the plugin uses the .net default font. i don't know what font is used by mb. i can change font used by plugin, but it must be some font included in most (better in all) Windows versions. Alternatively, I can use the same bold font. or slightly larger font.I am pretty certain MusicBee and the plugin are both using Segoe UI
all plugin windows are now using the Segoe UI 10 pt font (the default font for Windows 10 and 11) instead of Microsoft Sans Serif 8 pt (used earlier). i think MB is using Segoe UI 10 pt too.MusicBee's default font is Segoe UI 9pt, not 10pt.
all plugin windows are now using the Segoe UI 10 pt font (the default font for Windows 10 and 11)I'm sure you've thought about it before...
numerous bugs have been fixed, which STA PVS-Studio has found. UI is improved. all plugin windows are now using the Segoe UI 10 pt font (the default font for Windows 10 and 11) instead of Microsoft Sans Serif 8 pt (used earlier). i think MB is using Segoe UI 10 pt too.
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
I'm sure you've thought about it before...
but I was wondering if it wouldn't be best to just derive the MB font that the user has specified in hiccup's screenshot above? (Setting_GetDefaultFont)
Hi Baroda,
I'm using the latest version of the plugin and have noticed a small bug with the preview & proceed buttons. on the initial click they are labelled as normal. but when it finishes either loading the preview or completing changing tags, both buttons continue to display stop even after the task has been completed.
(https://imgur.com/QqUv2bQ)
Hi Baroda,
I seem to have something weird going on with the new LR screen.
When I run the 'Preview' on a preset it shows dates in the column:
...
but if I run the preset from ASR I get the correct results:
...
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 Time / Duration
Adding Track Gain / ReplayGainTrack
Adding Album Gain / ReplayGainAlbum
Adding Url / Url
Adding / Kind
Adding Format / Format
Adding / Size
Cant add / Size
Adding / Channels
Cant add / Channels
Adding / SampleRate
Cant add / SampleRate
Adding / Bitrate
Cant add / Bitrate
Adding / DateModified
Cant add / DateModified
Adding / DateAdded
Cant add / DateAdded
Adding Duration / Duration
Adding ReplayGainTrack / ReplayGainTrack
Adding ReplayGainAlbum / ReplayGainAlbum
Adding Kind / Kind
Adding Format / Format
Adding Size / Size
Adding Channels / Channels
Adding Bitrate / Bitrate
Adding Date Modified / DateModified
Adding Date Added / DateAdded
Adding Time / Duration
Adding Track Gain / ReplayGainTrack
Adding Album Gain / ReplayGainAlbum
Adding URL / Url
Adding Format / Format
Also, the settings window within the plugins section, where you can hit "configure", is too large. I find no way to shrink it, therefore, I am unable to see the end of it and save any settings.What is your monitor's scaling percentage? If not 100% try it at 100%
These are the offender tags:CodeAdding 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 Time / Duration
Adding Track Gain / ReplayGainTrack
Adding Album Gain / ReplayGainAlbum
MusicBee v3.5.8698.34385D (Win10.0), 6 Dec 2023 13:39:
System.InvalidOperationException: Sum of the columns' FillWeight values cannot exceed 65535.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
at MusicBeePlugin.LibraryReportsCommand.applyOnlyGroupingsPresetResults(String[] queriedFiles, Boolean interactive, Int32 sequenceNumberGrouping, Nullable`1 filterResults)
at MusicBeePlugin.LibraryReportsCommand.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Nullable`1 filterResults)
at MusicBeePlugin.LibraryReportsCommand.previewTrackList()
at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
I've ran into a crash, reproducible both with the 05.12.2023 version and the one from the 11.04.2023. It happens why I try to create a Library Report for my entire library (59k tracks, 4k albums).
(https://i.imgur.com/nj1M7KO.png)
Hi Baroda,
I seem to have something weird going on with the new LR screen.
When I run the 'Preview' on a preset it shows dates in the column:
(https://i.imgur.com/wMS8M9S.png)
Bee-liever, could you check this issue using the latest plugin version (see the links in my post above)? The new plugin version first tries to get tag types via the MB API. If the API returns a "string" type, then the plugin will still guess the tag type by itself (or leave it as "string" if any conversion to other types fails).
Code refactoring, bug fixes, UI/UX improvements:
https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file
full plugin package:
https://www.mediafire.com/file/b8spddpp2oymr3x/Additional-Tagging-Tools-Plugin.new.zip/file
-----------------------------I've ran into a crash, reproducible both with the 05.12.2023 version and the one from the 11.04.2023. It happens why I try to create a Library Report for my entire library (59k tracks, 4k albums).
i'm not able to reproduce this, but i think i've fixed this issue.
Be careful to not ACCIDENTALLY tick some "Advanced Search & Replace" or "Library Reports" presets for AUTOMATIC EXECUTION!Hi Boroda
do you think could add a feature (a sort of safety ) to disable automatic execution ? :-[
to enable/disable automatic execution
i'll do this, but why a sad smile? have you suffered from this feature?I think most of us have "suffered" from the auto-apply feature at least once. Speaking only for myself, I learned from my mistake and when selecting a preset I always click in the middle or right side. Never on the left.
Hi Boroda
i'll do this, but why a sad smile? have you suffered from this feature?
I think most of us have "suffered" from the auto-apply feature at least once. Speaking only for myself, I learned from my mistake and when selecting a preset I always click in the middle or right side. Never on the left.
It's possible to do it track-by-track but there's gotta be a way to do it in bulk. There are ways to import the full tags from the backup I have (I'm able to consistently switch between iTunes tags and MusicBee tags) but I just can't figure out how to only import the genre field.
@phred, a warning message has been shown at the top of ASR/LR windows if any preset is ticked for auto-execution for a long time. also, a sound notification is played every time you tick preset for auto-execution.Thanks boroda. I guess I've been a good boy and haven't enabled any auto-apply presets in quite some time as I never noticed the warning. Which I did see just now when testing it. As for a sound notification, I only have headphones on this PC and I use them when listening/watching media.
@gaiastar, ASR/LR preset auto-execution is now disabled by default (you will see a warning message about this at the top of ASR/LR windows). you can enable auto-execution in plugin settings.Hi Boroda
+ support for MusicBee font (only when "use skin colors" option is enabled in plugin settings, otherwise "Segoe UI 9 pt" font is used).can I ask you a question ?
you can enable auto-execution in plugin settings.great news , is it easy to uninstall it ? I mean does it leave files (configs in musicbee configuration files) or registry?
can I ask you a question ?
if skin colors is enabled , the plugin does not need Segoe UI 9 pt ,doesn't it?
+ support for MusicBee font (only when "use skin colors" option is enabled in plugin settings, otherwise "Segoe UI 9 pt" font is used).
great news , is it easy to uninstall it ? I mean does it leave files (configs in musicbee configuration files) or registry?
From the readme:Hi
REMOVING THE PLUGIN
1 – Open MusicBee. From the menubar > Edit > Edit Preferences > Plugins > Additional Tagging & Reporting Tools > Uninstall.
2 – MusicBee will delete all automatically created files (e.g., settings). You will need to close MusicBee and manually delete file "mb_TagTools.dll" and the subfolders "ru" and "ASR Presets" from "Plugins" folder. The "Plugins" folder is located in MusicBee application folder if you are using the portable version of MusicBee. If using the installer version of MusicBee, it's in the folder "%AppData%\MusicBee".
The procedure I quoted is specfically from and for Boroda's plugin, which was the whole context originally.Hi Sveakul
I gave you the 100% uninstall procedure for the LyricsReloaded plugin in its own forum thread. Problems with that one are almost ALWAYS associated with the person having multiple instances of the plugin dll installed from past or botched installs of MusicBee from "Installer" versions that were not properly removed before. The best way to check for that is with a simple Windows File Explorer search (include "hidden files") for mb_LyricsReloaded.dll.
but does this procedure work with other plugins?
just because it could be very useful to perform it if a plugin could crash
I don't to be offtopic but I had some issues with LYRICSRELOADED (LATEST) plugins to uninstall it at 100% , it was used to crash sometime musicbee
thanks
NOTE: i will consider this version a beta for some time due to huge code refactoringJust a few things I've found.
1/.
In Library reports, you need to add a second column definition to have the first one calculate correctly
2/.
Save button highlight area is larger than underlying Save button and covers Help button.
3/.
New 'use skin colouring' settings don't work as well as previous version on default, disabled and highlight buttons.
With some skins the only thing you can see is the warning symbol that shows for unsaved settings.
also, i see you are using win 11. am i right?
-----------
edit: which MB version are you using?
MusicBee v3.6.8736.15690P (Win10.0), 23 Dec 2023 15:51:
System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.refreshPresetList(Guid selectedPresetGuid)
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.editPreset(Preset tempPreset, Boolean itsNewPreset, Boolean readOnly)
at MusicBeePlugin.AdvancedSearchAndReplaceCommand.buttonCopy_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
as for the "MSR preset": it must exist to save presets from MSR, but it's a service preset (just a template for user MSR presets) and should be always hidden, so it's a bug that it's visible right after importing presets.I don't understand.
not user. MSR uses it as a template. of course i could hard code its body to paste it to every user MSR preset, but it turned out to be easier for me to make "service hidden" ASR preset to use it as a template for saved MSR presets.At the moment I don't seem able to fully digest what you have explained here.
never mind. users should never see this preset, and it's fixed now. i just didn't expect that somebody would "import" predefined presets, rather "install" them. again, this visual bug is fixed.
At the moment I don't seem able to fully digest what you have explained here.
no, it's very simpleHi.
I am simple. (and not ashamed of it ;-)
From a specific tag I would like to have the string 'cats' replaced by 'dogs', and the string 'elephants' replaced by 'penguins'.
just open MSR command.Ah!
So AT&RT has a specific "Multiple search & replace" feature.
Which is a different thing from the "Multiple search & replace" preset/template that I encountered and was talking about.
With 'different' I meant that I had only looked at the "multiple search & replace" preset in AS&R, and I was completely oblivious of the "multiple search & replace" frontend that you were talking about.So AT&RT has a specific "Multiple search & replace" feature.not exactly. MSR command is just a convenient frontend for that service hidden ASR preset, which (ASR preset) is also named "MSR". ASR & MSR are very tightly tied.
Which is a different thing from the "Multiple search & replace" preset/template that I encountered and was talking about.
I'm still not sure why AS&R shouldn't have an 'example' preset for it that a user can use as a template to modify.
because even @redwing (!), who has requested this ASR preset (which has been available only as (visible) ASR preset at that time), wasn't able to completely understand how to use it. so i've created MSR frontend for it. do you think that direct access to this preset can be useful to somebody? this anyway won't give any additional features which are not supported by MSR command.I can only speak for myself.
I now understand how this came to be, but having the need of this additional MSR to create something that can be used in ASR doesn't seem the most optimal solution.
In my opinion it would be better if ASR was capable of doing this by itself, without the need to resort to some separate MSR feature.
let me rephrase what you said: you are actually just proposing easy access to "MSR window" (some access to MSR features) from ASR window. this can be done, but the problem is that (despite the fact that ASR and MSR share a common base internally) from user's point of view, these 2 commands have nothing common until the user save his MSR search/replace template for future use. saving MSR templates is neither required by plugin nor frequently demanded by users. also, saved MSR templates anyway can be managed from MSR command, their management doesn't require opening ASR window.Back to my comfortable and simple state of mind ;-)
Plugin uses MusicBee font & skin colors by default nowLong absence ("Real-Life-Stuff"), but some time to play now.
Maybe only tie it to any custom font up to 9pt but decouple it for anything over that (if DPI > 100)? At least the font/skin option can still be turned off for now, so it defaults back to 9pt, albeit with the sickly white default skin colours.
Also, was the "Ok" button intentionally removed from the plugin configuration (Options -> Plugins...)? Hitting <Enter> seems to apply settings, so it's no great loss, but a dialog with no "Ok" button is just weird...
And, in that same window, in the "result filtering" options section, in the English translation the word "Include" is missing the 'l' letter, on all three lines.
ok, i'll separate the options "use MB font" & "use skin colors".Thanks.
...isn't it scrollable for you?It is scrollable, it's just that in one of the more recent updates, the "Ok" button was contained within the scrolling area, and while a bit unorthodox, it worked. With the last version however, the scrolling only shows up to the "Unit of Billions..." option - if there's supposed to be options/buttons below that one, they aren't displayed, that's why I asked if you removed it.
ok, i'll separate the options "use MB font" & "use skin colors".
it's because i wasn't able to think of any good layout of settings window for 125%. but settings window must become vertically scrollable (entire window) if it doesn't fit vertical screen size. isn't it scrollable for you?
And, in that same window, in the "result filtering" options section, in the English translation the word "Include" is missing the 'l' letter, on all three lines.
i don't see this issue in the last uploaded plugin version...
MusicBee v3.5.8150.17011D (Win10.0), 5 janv. 2024 16:30:
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
à System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
à System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
à System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
à MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_MouseClick(Object sender, MouseEventArgs e)
à System.Windows.Forms.Control.OnMouseClick(MouseEventArgs e)
à System.Windows.Forms.ListBox.WndProc(Message& m)
à System.Windows.Forms.CheckedListBox.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v3.4.7805.33439P (Win10.0), 16 Jan 2024 22:40:
System.ArgumentException: Value 'BackgroundColor' cannot be set to an empty value.
at System.Windows.Forms.DataGridView.set_BackgroundColor(Color value)
at MusicBeePlugin.PluginWindowTemplate.skinControl(Control control)
at MusicBeePlugin.PluginWindowTemplate.skinMoveScaleAllControls()
at MusicBeePlugin.PluginWindowTemplate.initAndShow()
at MusicBeePlugin.PluginWindowTemplate.Show()
at MusicBeePlugin.PluginWindowTemplate.Display(PluginWindowTemplate newForm, Boolean modalForm)
at MusicBeePlugin.Plugin.copyTagEventHandler(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v3.4.7805.33439P (Win10.0), 16 Jan 2024 22:40:The more recent versions of this plugin require MB version 3.5+. Update to the latest version by applying the patch in my signature below and try again. If you still are having issues, report it here.
Yeah, that fixed it lol. I didn't think too much of the MusicBee version since the plugin page said to use at least v3. My bad.@boroda... I haven't checked it myself, but perhaps the plugin page should be updated to indicate the minimum version of MB required.
MusicBee v3.4.8033.18564D (Win10.0), 17 Jan 2024 16:49:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MusicBeePlugin.PluginWindowTemplate.Display(PluginWindowTemplate newForm, Boolean modalForm)
at MusicBeePlugin.Plugin.Configure(IntPtr panelHandle)
--- 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 #=zMnhegC3cZoGqJc9MnQ==.#=zHNzzNWE=(IntPtr #=zznrCYSH69sZI)
Can someone help me with the Library Report? I want to run the Library Report Export on every Start and it seems that something happens but i can't find the export file
Hi,
I need to manually update the "Last played" property for some files
According to this post (https://getmusicbee.com/forum/index.php?topic=23089.msg134959#msg134959), I should be able to do it with the ASR "Set tag" feature of this plugin.
Is this really possible ?
I've installed all presets, but when I click on "Set tag" checkbox, I have the following error:Codehttps://www.dropbox.com/scl/fi/6r4tpz75njyxkgsi1xa88/musicbee_ATRT_ASR_error.jpg?rlkey=67rljlkff9wxchbxnbzte8gtl&dl=0MusicBee v3.5.8150.17011D (Win10.0), 5 janv. 2024 16:30:
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
à System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
à System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
à System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
à MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_MouseClick(Object sender, MouseEventArgs e)
à System.Windows.Forms.Control.OnMouseClick(MouseEventArgs e)
à System.Windows.Forms.ListBox.WndProc(Message& m)
à System.Windows.Forms.CheckedListBox.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Version: 5.7.8442.39379
How can I fix this ?
Thanks in advance and have a nice day
Hello. I'm having some trouble with certain keys (backspace, spacebar, arrows, maybe more) not working, while also triggering MB actions in the background.
Now that it's functional, I wanted to ask if it's possible to have a "Search and Replace" preset that takes the file path of a song and renames the file extension to something else?
@boroda... I haven't checked it myself, but perhaps the plugin page should be updated to indicate the minimum version of MB required.
I have seen this too - it's directly related to the hotkeys the user sets within Preferences -> Hotkeys. For some reason the plugin window is not "insulated" from them, and MB takes the keystroke despite not having direct focus.Hello. I'm having some trouble with certain keys (backspace, spacebar, arrows, maybe more) not working, while also triggering MB actions in the background.
could you be more specific? i don't understand what you mean.
...but all must be working as earlier.Appears to be fixed on initial testing. Thanks.
@Mafios, i agree with you.I meant if the right-click menu is meant to already have less options than the Tools menu at the moment. Because I'm not seeing certain options there like I used to in previous versions.
@All, which context menu items should i leave in context menu on reducing their count?
which context menu items should i leave in context menu on reducing their count?I don't find the right-click context menu over crowded. However, the ones that I use the most and would not want to see removed, are
I meant if the right-click menu is meant to already have less options than the Tools menu at the moment. Because I'm not seeing certain options there like I used to in previous versions.
1) how do i choose what columns i want? (as they dont seem to let me edit in anyway)
2) is there a way to just have album covers on the page for example side by side
1) how do i choose what columns i want? (as they dont seem to let me edit in anyway)
if i understood correctly what your issue is, you can't edit predefined LR presets, but you can copy them and edit the copies as you want.2) is there a way to just have album covers on the page for example side by side
not sure what you mean, mockup could help. try to edit copies of 'cd booklets' or 'albums and tracks' presets.
@phred, I've already removed the 'swap tags' item. Okay, I'll restore it.Sorry for not replying earlier, boroda. I didn't mean to cause you extra work, but thank you for restoring the Swap Tags function to the context menu.
ahh. misunderstood you. yes, the context menu contains only commands that are meant to be mainly applied to selected tracks, e.g., all tag backups (except for tag history) are removed from it, or LR is removed. LR can be applied to selected tracks, but that's not the main purpose of this command.I see. I didn't know such changes were being made as I was updating and thought it was some kind of issue.
So for some reason it seems like the Copy Tag (clipboard > basically any field) featureu seems to ignore my line breaks, and i'm not sure why. I've tried to copy tracklists manually and it still won't work, so this definitly doesn't have to do with myescrewing up on my end with notepad++ and my macros to copy tracklists from VGMdb or something.Can you post a screenshot of what you have pasted in notepad++ using 'Show All Characters', like this?:
(https://fivda.s-ul.eu/zkp4eIYM)So for some reason it seems like the Copy Tag (clipboard > basically any field) featureu seems to ignore my line breaks, and i'm not sure why. I've tried to copy tracklists manually and it still won't work, so this definitly doesn't have to do with myescrewing up on my end with notepad++ and my macros to copy tracklists from VGMdb or something.Can you post a screenshot of what you have pasted in notepad++ using 'Show All Characters', like this?:
(https://i.imgur.com/nuBfSp7.png)
(https://fivda.s-ul.eu/zkp4eIYM)So you have CR (carriage return) missing.
...also i have a mockup image but i cant attach it here.You have to upload the screenshot file to a file hosting service such as imgur.com and then paste the provided link here. See my signature below for additional instructions regarding posting screenshots.
(https://fivda.s-ul.eu/zkp4eIYM)So you have CR (carriage return) missing.
That's why AT&RT will consider the input as a single line.
You should probably be looking at how you have setup your macro's to copy text to the clipboard.
Text from my screen was manually input. Even a regular manual linebreak doesn't desplay a carriaage return character, and i've never had to manually add it to my macro or any kind of text.Then something must have changed with your notepad++ settings.
Text from my screen was manually input. Even a regular manual linebreak doesn't desplay a carriaage return character, and i've never had to manually add it to my macro or any kind of text.Then something must have changed with your notepad++ settings.
E.g. check this:
(https://i.imgur.com/hF2XV7Qm.jpg) (https://i.imgur.com/hF2XV7Q.png)
Exact same...That's very strange.
Exact same...That's very strange.
With the setting like that notepad++ should be adding [CR][LF] at the end of a line when you press [Enter]
So in your case that is not happening?
Are you testing this with new documents created in notepad++ , or with existing documents that you open with notepad++ that perhaps are already in some UNIX formatting?
MusicBee v3.5.8698.34385D (Win10.0), 3 Feb 2024 5:09:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at MusicBeePlugin.Plugin.ThemedBitmapAddRef(Form form, Bitmap bitmap)
at MusicBeePlugin.AutoRateCommand.initializeForm()
at MusicBeePlugin.PluginWindowTemplate.PluginWindowTemplate_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v3.5.8698.34385D (Win10.0), 3 Feb 2024 5:12:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at MusicBeePlugin.Plugin.FormsThemedBitmapsRelease(Form form)
at MusicBeePlugin.PluginWindowTemplate.PluginWindowTemplate_FormClosed(Object sender, FormClosedEventArgs e)
at System.Windows.Forms.Form.OnFormClosed(FormClosedEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v3.5.8698.34385D (Win10.0), 3 Feb 2024 5:14:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at MusicBeePlugin.Plugin.FormsThemedBitmapsRelease(Form form)
at MusicBeePlugin.PluginWindowTemplate.PluginWindowTemplate_FormClosed(Object sender, FormClosedEventArgs e)
at System.Windows.Forms.Form.OnFormClosed(FormClosedEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at #=zU1NHuKSwN_K6TEY_Nc8bgw4=.WndProc(Message& #=zUkWzezk=)
at #=zxdPeeS9uFa8oJzGFQK7gQYcaPZA_.WndProc(Message& #=zUkWzezk=)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
MusicBee v3.5.8698.34385D (Win10.0), 3 Feb 2024 5:17:
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at MusicBeePlugin.Plugin.ThemedBitmapAddRef(Form form, Bitmap bitmap)
at MusicBeePlugin.CalculateAverageAlbumRatingCommand.initializeForm()
at MusicBeePlugin.PluginWindowTemplate.PluginWindowTemplate_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Virtual Tag1 = $TitleCase(<title>)
How can I adjust the title formatting here?
$TitleCase("hit-mix") leads to Hit-mix.
But Hit-Mix would be correct.
Can this be changed?
ahh. misunderstood you. yes, the context menu contains only commands that are meant to be mainly applied to selected tracks, e.g., all tag backups (except for tag history) are removed from it, or LR is removed. LR can be applied to selected tracks, but that's not the main purpose of this command.I see. I didn't know such changes were being made as I was updating and thought it was some kind of issue.
Besides the ones suggested earlier, I like to have the ASR option again.
I'm trying to make a custom tag for total plays of an album, the preview looks good and works properly, but when I run it, it just tags every track with it's own individual play count. What am I doing wrong here? Thank you!
(https://i.imgur.com/TTfOWZ2.png)(https://i.imgur.com/avJ6mma.png)
3. scroll bars are now skinned.Well, most of the scroll-bars are skinned - the main ASR one seems to have 2 scrollbars now...
https://www.mediafire.com/file/odmp6wgn9hg7hfi/mb_TagTools_debug.zip/fileIs this current version a "debug" or a "beta"?
???
https://www.mediafire.com/file/odmp6wgn9hg7hfi/mb_TagTools_debug.zip/fileIs this current version a "debug" or a "beta"?
Is anyone else having problems with getting $LR(<URL>,'virtual tag function ID') to work in a virtual tag?
The Library Report preview shows it works fine but when I try to use the results in a virtual tag the resulting output is eitherCodeor '0'???
3. scroll bars are now skinned.Well, most of the scroll-bars are skinned - the main ASR one seems to have 2 scrollbars now...
(https://i.imgur.com/yT2MRLY.png)
And I might add that this last package doesn't seem to contain the usual folder of ASR Presets (for those who may be downloading it for the first time...)
Virtual Tag1 = $TitleCase(<title>)
How can I adjust the title formatting here?
$TitleCase("hit-mix") leads to Hit-mix.
But Hit-Mix would be correct.
Can this be changed?
3. scroll bars are now skinned.Well, most of the scroll-bars are skinned - the main ASR one seems to have 2 scrollbars now...
(https://i.imgur.com/yT2MRLY.png)
Is anyone else having problems with getting $LR(<URL>,'virtual tag function ID') to work in a virtual tag?
The Library Report preview shows it works fine but when I try to use the results in a virtual tag the resulting output is either
or '0'
please recheck this issue using new version.Nope, scrollbar issue remains - strange that all the other scrollbars are fine, it's (as far as I have seen) just the main ASR one that's bugged. Tried switching in and out of "use skin colours", even other skins, but no change. (I just used the word 'most' because I hadn't tested for all of them at that time - I haven't seen any others in ALR either.)
BTW, what did you mean by 'most' (except for those doubled scroll bars in ASR)?
No luck. Still not importing results from LR to VirtualTagIs anyone else having problems with getting $LR(<URL>,'virtual tag function ID') to work in a virtual tag?
The Library Report preview shows it works fine but when I try to use the results in a virtual tag the resulting output is either
or '0'
i wasn't able to reproduce this bug, but i have found another critical bug (it related to the $LR function only, not to the LR command). i've fixed it. try new version.
$LR(<URL>,KindCount)
$LR("<URL>",KindCount)
@Messiaen, what Windows version do you use? also, please check the scroll bars in LR (you'll need to create several dummy/empty presets to see scroll bars).Oops, yeah, LR seems to suffer this problem too - I just didn't have enough presets to see it.
@Bee-liever, just as a guess: what happens if you define virtual tag as:Code$LR("<URL>",KindCount)
?
$Count(<Kind>,<Album>)
Standard boring Win10. (And, just for the record, the issue persists in the version you just uploaded above whilst I was typing.)
$TitleCase("test", ,/ - &) is the same as:
$TitleCase("test", ,/ - &,) i.e., don't use excepted words, use characters / - & as word splitters, and use ASR defaults for characters after which the words must be lowercased.
$TitleCase("test") is the same as:
$TitleCase("test",,,) i.e., use ASR defaults for excepted words, word splitters (spaces are always treated as word splitters), and characters after which the words must be lowercased.
well, another try:And there we go - now all the scrollbars are working/appearing as advertised. :)
Is there no more support here?What do you mean? :/
If I integrate the latest version of the plugin, I also get this error message:
(https://i.postimg.cc/FdBDMccX/Music-Bee-2024-03-04-064638.png) (https://postimg.cc/FdBDMccX)
MusicBee v3.6.8816.34740D (Win10.0), 4 Mrz 2024 6:45:
System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: brush
bei System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
bei System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
bei MusicBeePlugin.CustomVScrollBar.OnPaint1(PaintEventArgs e, Image upArrowImage, Image downArrowImage, Image thumbTopImage, Image thumbMiddleImage, Image thumbBottomImage, Boolean stretchThumbImage)
bei MusicBeePlugin.CustomVScrollBar.OnPaint(PaintEventArgs e)
bei System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
bei System.Windows.Forms.Control.WmPaint(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
bei System.Windows.Forms.UserControl.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
(https://i.postimg.cc/Sj96SwbM/Music-Bee-2024-03-04-064836.png) (https://postimg.cc/Sj96SwbM)
Unfortunately I get an error message:
(https://i.postimg.cc/svf3mHjn/Musicbee-2024-03-03-184933.png) (https://postimg.cc/svf3mHjn)
I described my problem here on March 03.This is a user-to-user forum. Answers to questions are handled by fellow users. This plugin is maintained by one person who volunteers his time to keep the plugin updated and to provide support. He is not an employee of MB. He does not get paid. He has a life. He responds to plugin issues when he has the time.