RegExp Find & Replace 4.3 w/ 253 presets (2011-07-06) [MM2+]

Download and get help for different MediaMonkey for Windows 4 Addons.

Moderators: Peke, Gurus

nototim19
Posts: 2
Joined: Wed Apr 28, 2010 5:53 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by nototim19 »

This is fantastic script! I have been using this for a couple of years, but I've recently noticed that when I perform a RegExp operation, the tracks are automatically transferred to the Library. In some cases I don't want the tracks in my Library. I can't seem to find a setting to keep this from happening. Am I just missing something obvious?
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by ZvezdanD »

nototim19 wrote:I have been using this for a couple of years, but I've recently noticed that when I perform a RegExp operation, the tracks are automatically transferred to the Library. In some cases I don't want the tracks in my Library.
Thanks for the report. Actually, it is not the script's fault, but the program's behavior has changed somewhere in between 3.0.6.1199 and 3.2.0.1294. I reported that in Mantis (http://www.ventismedia.com/mantis/view.php?id=7548), so we will see if MM developers would do something about it.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
elliottdp
Posts: 27
Joined: Tue Mar 22, 2011 1:27 pm

Moving Partial text from Title field to Artist field

Post by elliottdp »

First off, I hope this is posted in the correct forum. I've looked for other posts to answer my question, but have been unable to come up with one. I'm a newbie here and have been using RegExp since last week. Absolutely AWESOME!! It is going to save me months of work re: 1.3 Tb of music, but I have a question that I am unable to find the exact answer to...


How does one change

Title: Rock This Town - Stray Cats Artist: Vintage 80's Volume #

to

Title: Rock This Town Artist: Stray Cats


I see the Copy functions and replace functions in the presets, but am unable to figure out how to Move the partial text in the title field to the artist field.

I have thousands of songs listed like this from compilation CDs.

Is what I want to do not possible with one preset/step or what?

I've figured out/deciphered how to change/edit some presets to serve my needs, but this problem is making me tear my hair out.

HELP!!! Please. Thanks for any help to the more experienced.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: Moving Partial text from Title field to Artist field

Post by ZvezdanD »

elliottdp wrote:Is what I want to do not possible with one preset/step or what?
No, that is not possible using just one preset/step since you want to modify two fields at the same time. If you want to stay with the existing presets, here is what you could use:
1. Copy <From Field> to <Into Field>... (Source field = Title, Destination field = Artist);
2. Remove the begin of <Into Field> before (and including) " - "... (Field = Artist);
3. Remove the end of <Into Field> after (and including) specified string... (Field = Title, Trim string after = - ).

However, instead of the first two mentioned presets you could get the same result using the following settings:
Find what: ^.*
Into: Artist
RegExp 1: checked
Replace with: IIf(InStr(oSongData.Title, " - ") > 0, Mid(oSongData.Title, InStr(oSongData.Title, " - ") + 3), "$&")
VBScript: checked
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
elliottdp
Posts: 27
Joined: Tue Mar 22, 2011 1:27 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by elliottdp »

Again, Absolutely AWESOME!!!!!!!!!
Works great!
Thank you, Thank you, Thank You, Thank You .........

I realize that scripting is not rocket science or anything, but scripting does not appear to be intuitive to the human brain(at least mine). I'd like to learn how to.
Is there a somewhat simple or straightforward way to learn this type of scripting easily? Any websites/online links you can point me to?

I do not have any experience with any programming, except for the most minimal from the good ol' basic days. ie. the TRS-80 days. heh I just seem old, though. :)

Thank you again!
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by ZvezdanD »

elliottdp wrote:Any websites/online links you can point me to?
If you want to write scripts for MediaMonkey you should know VBScript or JavaScript. VBScript is a sub-set of Visual Basic which is object-oriented programing language that is not so much similar with TRS-80 basic. If you want to learn about VBScript you could visit http://www.w3schools.com/vbscript/default.asp, but it could also help if you read some book about OO programming.

To be able to write scripts for MM, you should also read MM API with descriptions about its objects, methods, properties and events (remember it is object-oriented): http://www.mediamonkey.com/wiki/index.p ... on_objects

By the way, glad you found my add-on and presets useful.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
AliZ
Posts: 48
Joined: Tue Jan 15, 2008 2:55 am

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by AliZ »

Hi,
I want to remove some duplicate entries in the genre field. I've searched for a preset like "Remove duplicate entries in multi-item field <into field>. Unfortunately I can't find something like that? Does anyone know how to to that? Is there a preset to use or can someone post the preset?
Thx in advance
AliZ
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by ZvezdanD »

AliZ wrote:I've searched for a preset like "Remove duplicate entries in multi-item field <into field>. Unfortunately I can't find something like that?
Well, such preset is not possible without some modification of the script. However, if you have duplicate entries as the last (rightmost) items in some multi-item field, you could try with the "Remove last item from multi-item <Into Field>..." preset.

EDIT: Actually, the mentioned request is really possible without script's modifications, but code is very dirty and might not work in some future version. Here is the settings:
Find what: ^.*
Into: whatever (e.g. Involved People or Genre)
Regular expression 1: checked

Replace with: Execute("Dim aItems, bMatch, sField, ii, jj: aItems = Split(Replace(sBefore, ""; "", "";""), "";""): For ii = 0 To UBound(aItems): bMatch = False: For jj = 0 To ii - 1: If aItems(jj) = aItems(ii) Then bMatch = True: Exit For: End If: Next: If Not bMatch Then sField = sField & aItems(ii) & ""; "": End If: Next: If Len(sField) Then sField = Left(sField, Len(sField) - 2) End If: iVariable(0) = sField") & iVariable(0)

VBScript expression: checked
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
Dan33185
Posts: 233
Joined: Sun Nov 08, 2009 4:36 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by Dan33185 »

How can I use this add on to copy "Encoder" to "Custom 1"?
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by ZvezdanD »

Dan33185 wrote:How can I use this add on to copy "Encoder" to "Custom 1"?
1. Select track(s) you want to modify;
2. choose Edit > Tag Manipulation Presets > Copy <From Field> to <Into Field>...;
3. select Custom 1 in Source field dropdown list;
4. select Encoder in Destination field dropdown list;
5. click OK button.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
Guest

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by Guest »

ZvezdanD wrote:
AliZ wrote:I've searched for a preset like "Remove duplicate entries in multi-item field <into field>. Unfortunately I can't find something like that?
Well, such preset is not possible without some modification of the script. However, if you have duplicate entries as the last (rightmost) items in some multi-item field, you could try with the "Remove last item from multi-item <Into Field>..." preset.

EDIT: Actually, the mentioned request is really possible without script's modifications, but code is very dirty and might not work in some future version. Here is the settings:
Find what: ^.*
Into: whatever (e.g. Involved People or Genre)
Regular expression 1: checked

Replace with: Execute("Dim aItems, bMatch, sField, ii, jj: aItems = Split(Replace(sBefore, ""; "", "";""), "";""): For ii = 0 To UBound(aItems): bMatch = False: For jj = 0 To ii - 1: If aItems(jj) = aItems(ii) Then bMatch = True: Exit For: End If: Next: If Not bMatch Then sField = sField & aItems(ii) & ""; "": End If: Next: If Len(sField) Then sField = Left(sField, Len(sField) - 2) End If: iVariable(0) = sField") & iVariable(0)

VBScript expression: checked
THANKS for the code and for your absolutly AWESOME addn. I'm blown away.
Kevinowpb
Posts: 129
Joined: Sat Dec 22, 2007 10:18 am
Location: West Palm Beach
Contact:

Re: question on bringing up MM interface..

Post by Kevinowpb »

I think there is a problem.. I don't know if I just don't understand something, or this is an actual bug... or ... well... who knows. Help!

I recently reinstalled my entire hard drive...

I have MM 3 (latest version...) installed and running the exe file from an F:\programfiles\mediamonkey\mediamonkey.exe .... F is NOT the OS's root .. C: is...

.. i have the mediamonkey.ini in the C:\user directory where Windows 7 installs it... (c:\users\xusernamex\appdata\local\mediamonkey)

I install the RegExp from its latest release direclty from the web link in the first post of this group here... AFTER i've opened MM.
it runs.. it works.... here's where things happen. When I close down MM, ... and reopen .. i ALWAYS seem to get the "CONFIRM" dialog... "Do you want to remove RegExp FIND and REPLACE settings as well?
If you click NO, Script settings will be left in MediaMonkey.ini


I've tried both YES and NO,.. but neither work, to KEEP RegExp running... i have to reinstall from the .mmip file to get the script back.

Something I'm doing wrong?? Is there some setting in my .ini corrputing the install???
Help!
Thanks!
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: question on bringing up MM interface..

Post by ZvezdanD »

Kevinowpb wrote:When I close down MM, ... and reopen .. i ALWAYS seem to get the "CONFIRM" dialog... "Do you want to remove RegExp FIND and REPLACE settings as well?
It seems that you have Uninstall.vbs file in Scripts\Auto folder, most probably you manually extracted it from RegExpReplace-xxx.mmip file. You should remove that file from Auto folder (and Install.vbs if you have extracted that file as well). In MM3 you should install add-ons just by double-click on a .mmip file, no need to manually extract files from the add-on's package.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
elliottdp
Posts: 27
Joined: Tue Mar 22, 2011 1:27 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by elliottdp »

Not quite sure where to put this.

Is there a way to list all of the presets that I have selected for the toolbar on one or multiple rows? I have selected a total of about 12, but the toolbar is not long enough to display all of them.

I know that I can click on the lightbulb Icon on the existing toolbar to bring up the entire preset listing.

Do I need to delete the presets that I do not need in order to make this pull down more manageable?

I'm dealing with a library that has 200,000+ tracks. Unfortunately, there is not much consistency with the manner of organization. I'm slowly trying to fix this.

Any help would be great!
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: RegExp Find & Replace 4.1 w/ 217 presets (2011-03-03) [M

Post by ZvezdanD »

elliottdp wrote:Is there a way to list all of the presets that I have selected for the toolbar on one or multiple rows? I have selected a total of about 12, but the toolbar is not long enough to display all of them.
You cannot get the presets in two or more rows, just in one row. You have two possibilities to get as many toolbar buttons in one row as you could:
1. if you are not using the Icon option, i.e. you have displayed the name of the presets as captions of buttons, you could use the "Trim toolbar button's caption (maximal number of characters)" option with some low value;
2. you could use the Icon option and you would get the small picture instead of the wide text on the toolbar button.
elliottdp wrote:Do I need to delete the presets that I do not need in order to make this pull down more manageable?
Well, the more manageable menu with the presets organized on two hierarchical levels is on my ToDo list. However, you currently have two options:
1. you could move your favorite presets to the top of the list using the Move buttons in the RegExp Find & Replace dialog box or Up/Down buttons in the RegExp Export/Import dialog box;
2. you could remove all built-in presets that you don't need and latter, when you need some of them, you could import it from the RegExpReplace.ini file.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
Post Reply