Invert Selection/Select None 1.5 (2012-02-04) [MM3+]

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

Moderators: Peke, Gurus

ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Invert Selection/Select None 1.5 (2012-02-04) [MM3+]

Post by ZvezdanD »

I asked for this in the Wishlist forum long time ago, but without any response from MM developers. After implementing similar functionality into the RegExp Find & Replace script, I decided to make this as stand-alone script.

Description:
This add-on is for use with MediaMonkey 3.0 or higher. MediaMonkey has the Select All option, but not Select None, nor Invert Selection. So, this script allows such options when selecting tracks in the main tracklist or the Now Playing panel. For example, you could have selected all tracks from the first disc of some displayed double-CD album, then you could choose Invert Selection to get selected tracks from the second disc.

Download:
http://SOLAIR.EUnet.rs/~zvezdand/InvertSelection.htm

What is new:
v1.5 - 2012-02-04
* Improved: speed in many cases;
* Fixed: Select None option [MM4].

v1.4 - 2009-01-26
- Improved: speed (drastically) for the Now Playing panel with MM 3.1.0.1214 and up.

v1.3 - 2009-01-18
- Improved: speed (drastically) for the main tracklist panel with MM 3.1.0.1214 and up.

v1.2 - 2009-01-10
- Improved: speed with sorted tracklists which contain big number of tracks;
- Fixed: detection when the Now Playing panel has a focus, even with MM3 older that 3.1.0.1210.

v1.1.1 - 2008-06-02
- Regression: speed with sorted tracklists which contain big number of tracks;
- Fixed: duplicating of the first track if it is selected.

v1.1 - 2008-05-30
- Added: support for Now Playing panel, My Computer node and for unsorted tracklist.

v1.0 - 2008-05-27
- First public version.

Installation:
Just double-click on the MMIP file.

Usage:
Press Ctrl+I to Invert selection and Ctrl+D to Select none or choose corresponding options from the Edit menu.

Note:
If you are using MediaMonkey older than 3.1.0.1214, the Invert Selection in the Now Playing panel, My Computer node and unsorted tracklist is drastically slower than with the sorted tracklist, so use it only when they don't have too much tracks.
Last edited by ZvezdanD on Sat Feb 04, 2012 6:42 pm, edited 10 times in total.
gege
Posts: 866
Joined: Tue Sep 05, 2006 2:10 pm
Location: Brazil

Post by gege »

Hey! I loved this one! Congrats.

Just one thing: it looks like "Invert Selection" doesn't work well in Now Playing window... If select a bunch of files in NP, and then CTRL+I, all files get selected.
Bex
Posts: 6316
Joined: Fri May 21, 2004 5:44 am
Location: Sweden

Post by Bex »

Nice one ZvezdanD! Really useful.
I'm getting the same error as gege in both NP and NP_main_window.
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!

All My Scripts
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Bex wrote:I'm getting the same error as gege in both NP and NP_main_window.
Sorry folks. I am not using the MM player at all, so I didn't tried it with the Now Playing panel. Unfortunately, as far as I know, there is no a way to find which panel is in focus. There is also more serious problem - I have used RemoveSelectedTracks and AddTracksFromQuery which work only with tracklist panel, but not with Now Playing. :( Anyway, the Now Playing panel already has the Invert selection option into its Edit menu (however, without keyboard shortcut).

BTW, what is a difference between NP ad NP_main_window?
Bex
Posts: 6316
Joined: Fri May 21, 2004 5:44 am
Location: Sweden

Post by Bex »

When you click on the Now Playing Node then the Main Window becames NP_Main_Window. It works differently compared to the normal main window in respect of Right click menus etc...

Btw, Playlists work very strange with this script. Tracks are added to the window but only temporary...
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!

All My Scripts
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Now I see that there exist options which could be used to add/remove tracks to Now Playing window instead of mentioned ones, but anyway I don't know how to detect which is active panel through scripting. So, use it with all of this limitations if you wish.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

There is an update for this script (1.1). Now it is possible to invert selection in all panes, but please read the Note section.

I need to say, it is extremely ridiculous that we need to write such big scripts for such trivial tasks because of poor API which MM developers gave to us scripters.
cadmanmeg
Posts: 309
Joined: Sun Nov 19, 2006 5:28 am

Post by cadmanmeg »

So I selected 2 tracks and then hovering over one used ctrl-I and then it created a duplicate. Not a duplicate entry physically, but within the dalabase. Is this how this works? Doesn't seem quite right. Ideas please? Thanks much!
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

cadmanmeg wrote:So I selected 2 tracks and then hovering over one used ctrl-I and then it created a duplicate. Not a duplicate entry physically, but within the dalabase. Is this how this works? Doesn't seem quite right.
Invert selection should do exactly as its name says - to select unselected tracks and vice versa. So, if you have tracklist with, let say, 5 visible tracks and 2 of them which are selected, after press on Ctrl+I there should be selected 3 tracks which previously haven't been selected. If you get different behavior than that, it should be consider as a bug in the script.

Which version of the script and the MM program you are using? Which MM panel you are trying (main tracklist, Now Playing, My Computer...)? Is this panel sorted by any column? Could you send a screenshot?

BTW, this script could not create duplicate in the database, but only in tracklist panel. If you switch to another node in the tree pane and return back to the same node where you previously tried to select tracks, you should see the same number of tracks as before selecting. Actually, this script add one track to traclist to detect which panel is in focus, but immediately after that it remove the same track.

Another possibility for such behavior is that the script wrongly detected that main tracklist has focus and implements old agorythm (from 1.0 version) with RemoveSelectedTracks and AddTracksFromQuery which is much faster than the new one which is applied only on Now Playing pane, My Computer node and unsorted tracklists.

I am sorry, but this happens when we need to use dirty tricks for such trivial things as detecting which panel is in focus and to select/deselect specific tracks.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

I think that I found mentioned bug which leads to a duplicated track. There is a new release (1.1.1).
cadmanmeg
Posts: 309
Joined: Sun Nov 19, 2006 5:28 am

Re: Invert Selection/Select None 1.1.1 [MM3]

Post by cadmanmeg »

Sorry I haven't had the time to respond, but now, it all seems to work fine with what I tested again. I am using version 3.0.2.1134.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: Invert Selection/Select None 1.2 (2009-01-10) [MM3]

Post by ZvezdanD »

There is a new update (1.2) of this script - it is much faster with sorted tracklists which contain big number of tracks.
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
MM3 monkey
Posts: 455
Joined: Mon Aug 27, 2007 2:34 am

Re: Invert Selection/Select None 1.2 (2009-01-10) [MM3]

Post by MM3 monkey »

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

Re: Invert Selection/Select None 1.3 (2009-01-18) [MM3]

Post by ZvezdanD »

This script was broken with MM 3.1.0.1209-1213, but with 1214 and new script update (1.3) it works really fast. Thanks so much to MM developers for new API functions added to the MM :)
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
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: Invert Selection/Select None 1.5 (2009-02-04) [MM3]

Post by ZvezdanD »

There is the new update, v1.5 - 2012-02-04
* Improved: speed in many cases;
* Fixed: Select None option [MM4].
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