FavouriteNodes: Add Favourite Nodes submenu to MediaMonkey

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

Moderators: Peke, Gurus

Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

a better question would be why doesn't it work in MM, it should since it does not use any SQL.
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

Teknojnky wrote:a better question would be why doesn't it work in MM, it should since it does not use any SQL.
If an expert like you has no idea, I don't have any hopes for one off my favorite scripts.
I had a look to the code. Where there any changes to the Node Classes in MM3?
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

Here is the code that should set the current node to the node that has the Caption stored in FullPathToNode

Code: Select all

Function BrowseToNode(FullPathToNode) 
  ' Browses to the specified node and returns True on success. 

  On Error Resume Next 

  Dim Node2B 
      Set Node2B = SDB.MainTree.Node_NowPlaying 

  Dim i 
  For i = 1 To UBound(FullPathToNode) - 1 
    
    If i > 1 Then 
      Node2B.Expanded = True 
      Set Node2B = SDB.MainTree.FirstChildNode(Node2B) 
    End If 

    If Not Node2B.Caption = FullPathToNode(i) Then 
      Do 
        Set Node2B = SDB.MainTree.NextSiblingNode(Node2B) 
        If Err <> 0 Then Exit Function 
      Loop While Node2B.Caption <> FullPathToNode(i) 
    End If 
  Next 
  
  SDB.MainTree.CurrentNode = Node2B 
  Node2B.Expanded = isStartupNodeExpanded 

  BrowseToNode = True 

End Function 
Here he calls the Sub:

Code: Select all

Sub BrowseIt(arg) 

  Dim FavouriteNodes 
      Set FavouriteNodes = SDB.Objects("FavouriteNodes") 

  Dim Result 
      Result = BrowseToNode(FavouriteNodes.Item(arg.Caption)) 

  If Result = False Then 
    SDB.MessageBox MessageHeader & Error_BrowseToNode , mtError, Array(mbOk) 
  End If 

End Sub 
I don't see why this shouldn't work!

@Teknojnky: Do you have any code fragment for me that shows how to write a logfile for debugging? THX
Steegy
Posts: 3452
Joined: Sat Nov 05, 2005 7:17 pm

Post by Steegy »

@limex:
use OutputDebugString or OutputDebugStringMM to create debug messages in the same way as MM does it. You can view them with a program called DebugView.

Various scripts (including ScrobblerDJ I think) have code to write debug to a log file.
Extensions: ExternalTools, ExtractFields, SongPreviewer, LinkedTracks, CleanImport, and some other scripts (Need Help with Addons > List of All Scripts).
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

I found the Fix for MM3.x

Post by limex »

Guys!
I think I found the bug. :D
It looks to me that the path to the favorit node changed in MM3.
Here is the new script v1.2 based in steegy's last version 1.1
Please test it and give me feedback.

Copy the complete code to file FavouriteNodes.vbs in Folder Scripts\Auto

EDITED BY LIMEX: code deleted. Please find steegy's official fix below in this thread
Last edited by limex on Tue Feb 12, 2008 5:30 pm, edited 1 time in total.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

The Favorite menu doesn't show up on the toolbar anymore and I get access violation when trying to add a new fav node.


ER, Never mind me, I forgot I had moved the toolbar location from the original (I kept it at the 'shortcuts' bar).

I found the node and it appears to work, however I still get access violation error when trying to add a new favorite node.

But using the menu and existing favorite node appears to work!
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

@Teknojnky: Strange. For me it works!
What version are you using? I have MM 3.0.2.1134.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

I'm using 3.03.1137 (from beta forum sticky).

You are adding completely new favorite nodes (from right click a node > add to favourite nodes) yes?

Since this is a debug build it might have some other error checking going on.. here is the debug view from the dialog, tho it does not look particularly helpful..

Code: Select all

DebugView:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  8.1 : 6269.890s - PID:6036 - 6008 DB lock finished, took 382.
        6269.890s - PID:6036 - 6008 DB open SQL:_SELECT NULL FROM Songs WHERE IDMedia=? LIMIT 1
        6269.890s - PID:6036 - 6008 DB lock finished, took 382.
        6269.890s - PID:6036 - 6008 DB open SQL:_SELECT NULL FROM Songs WHERE IDMedia=? LIMIT 1
        6269.890s - PID:6036 - 6008 DB lock finished, took 382.
        6269.890s - PID:6036 - 6008 DB prepare SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6269.890s - PID:6036 - 6008 DB query prepare finished, took 536.
        6269.890s - PID:6036 - 6008 DB open SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6269.906s - PID:6036 - 6008 DB lock finished, took 38811.
        6269.906s - PID:6036 - 6008 DB open SQL:_SELECT NULL FROM Songs WHERE Songs.IDFolder in (SELECT IDChildFolder FROM FoldersHier WHERE IDFolder=0) LIMIT 1
        6269.906s - PID:6036 - 6008 DB lock finished, took 1604.
        6269.984s - PID:6036 - MMDS:_Written 101376 bytes
        6270.562s - PID:6036 - MMDS:_Written 101376 bytes
        6270.812s - PID:6036 - Winamp sim - WM_USER message 104
        6270.812s - PID:6036 - Winamp sim - WM_USER message 105
        6271.109s - PID:6036 - 6008 DB open SQL:_SELECT Count(*) FROM PathProcessing
        6271.109s - PID:6036 - 6008 DB lock finished, took 992.
        6271.109s - PID:6036 - 6008 DB open SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6271.109s - PID:6036 - 6008 DB lock finished, took 756.
        6271.109s - PID:6036 - 6008 DB open SQL:_SELECT Flds1.Folder, Flds1.ID,  COUNT(Flds2.TrackCount) FROM Folders Flds1 LEFT OUTER JOIN Folders Flds2 ON Flds2.IDParentFolder=Flds1.ID AND Flds2.IDMedia=80 WHERE Flds1.IDMedia=80 AND Flds1.IDParentFolder=1 AND Flds1.TrackCount>0 GROUP BY Flds1.Folder
        6271.125s - PID:6036 - 6008 DB lock finished, took 4867.
        6271.140s - PID:6036 - MMDS:_Written 101376 bytes
        6271.687s - PID:6036 - MMDS:_Written 101376 bytes
        6272.109s - PID:6036 - Node Music starting.
        6272.109s - PID:6036 - Node Music going to clear SongList.
        6272.140s - PID:6036 - Thread has started 5520
        6272.140s - PID:6036 - Thread registered, going to initialize 5520
        6272.140s - PID:6036 - Thread initialized 5520
        6272.140s - PID:6036 - 5520 DB prepare SQL:_SELECT Count(*) FROM PathProcessing
        6272.140s - PID:6036 - 5520 DB query prepare finished, took 425.
        6272.140s - PID:6036 - 5520 DB open SQL:_SELECT Count(*) FROM PathProcessing
        6272.140s - PID:6036 - 5520 DB lock finished, took 917.
        6272.140s - PID:6036 - 5520 DB prepare SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6272.140s - PID:6036 - 5520 DB query prepare finished, took 423.
        6272.140s - PID:6036 - 5520 DB open SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6272.140s - PID:6036 - 5520 DB lock finished, took 741.
        6272.140s - PID:6036 - 5520 DB open SQL:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6272.140s - PID:6036 - 5520 DB lock finished, took 720.
        6272.203s - PID:6036 - 5520 DB open SQL:_SELECT Songs.*
        FROM Songs
        WHERE Songs.IDFolder=2
        6272.203s - PID:6036 - 5520 DB lock finished, took 4381.
        6272.218s - PID:6036 - Going to make final callback 5520
        6272.218s - PID:6036 - DB:_Deleting prepared query:_SELECT Count(*) FROM PathProcessing
        6272.218s - PID:6036 - DB:_Deleting prepared query:_SELECT ID,TrackCount FROM Folders WHERE IDMedia=? AND IDParentFolder=? AND Folder=?
        6272.218s - PID:6036 - Thread has finished 5520
        6272.265s - PID:6036 - MMDS:_Written 101376 bytes
        6272.828s - PID:6036 - MMDS:_Written 101376 bytes
        6273.140s - PID:6036 - MMDS:_***Playback pointer crossed buffer end***
        6273.406s - PID:6036 - MMDS:_Written 101376 bytes
        6273.828s - PID:6036 - Forms:_NormalizeTopMosts:_Level:_0
        6273.828s - PID:6036 - Forms:_NormalizeTopMost:_Starting
        6273.984s - PID:6036 - MMDS:_Written 101376 bytes
        6274.562s - PID:6036 - MMDS:_Written 101376 bytes
        6274.922s - PID:6036 - Thread has started 6024
        6274.922s - PID:6036 - Thread registered, going to initialize 6024
        6274.922s - PID:6036 - Thread initialized 6024
        6274.922s - PID:6036 - Going to make final callback 6024
        6274.922s - PID:6036 - Thread has finished 6024
        6275.125s - PID:6036 - MMDS:_Written 101376 bytes
        6275.578s - PID:6036 - Forms:_RestoreTopMost:_Level:_1
        6275.578s - PID:6036 - Forms:_RestoreTopMost:_Starting
        6275.703s - PID:6036 - MMDS:_Written 101376 bytes
        6275.828s - PID:6036 - --------------------------------------------------------
        New exception:
        Exception code:_3221225477
        Exception flags:_2
        Number of parameters:_2
        (no debug info) Find error:_008F699F
        call stack - 0 :_(no debug info) Find error:_008F6CC4
        call stack - 1 :_(no debug info) Find error:_00405642
        call stack - 2 :_(no debug info) Find error:_7C903787
        call stack - 3 :_(no debug info) Find error:_7C90EAF6
        call stack - 4 :_(no debug info) Find error:_77135D7D
        call stack - 5 :_(no debug info) Find error:_7713638C
        call stack - 6 :_(no debug info) Find error:_004C0C7D
        call stack - 7 :_(no debug info) Find error:_6F2B3E8B
        call stack - 8 :_(no debug info) Find error:_6F2B3DFB
        call stack - 9 :_(no debug info) Find error:_6F2B336B
        call stack - 10 :_(no debug info) Find error:_6F2B3D5C
        call stack - 11 :_(no debug info) Find error:_6F2BF379
        call stack - 12 :_(no debug info) Find error:_6F2B63C2
        call stack - 13 :_(no debug info) Find error:_6F2B6347
        call stack - 14 :_(no debug info) Find error:_6F2B3B43
        call stack - 15 :_(no debug info) Find error:_6F2B63C2
        call stack - 16 :_(no debug info) Find error:_6F2B6347
        call stack - 17 :_(no debug info) Find error:_6F2B6B99
        call stack - 18 :_(no debug info) Find error:_6F2C70AD
        call stack - 19 :_(no debug info) Find error:_6B985E0A
        call stack - 20 :_(no debug info) Find error:_6B98618E
        call stack - 21 :_(no debug info) Find error:_005BD9D6
        call stack - 22 :_(no debug info) Find error:_0075A54E
        call stack - 23 :_(no debug info) Find error:_00796BF5
        call stack - 24 :_(no debug info) Find error:_006B7473
        call stack - 25 :_(no debug info) Find error:_008DFADB
        call stack - 26 :_(no debug info) Find error:_008E2B7C
        6275.828s - PID:6036 - --------------------------------------------------------
        New exception:
        Exception code:_69487755
        Exception flags:_100942327
        Number of parameters:_1284182645
        (no debug info) Find error:_00000001
        call stack - 0 :_(no debug info) Find error:_77135D7D
        call stack - 1 :_(no debug info) Find error:_7713638C
        call stack - 2 :_(no debug info) Find error:_004C0C7D
        call stack - 3 :_(no debug info) Find error:_6F2B3E8B
        call stack - 4 :_(no debug info) Find error:_6F2B3DFB
        call stack - 5 :_(no debug info) Find error:_6F2B336B
        call stack - 6 :_(no debug info) Find error:_6F2B3D5C
        call stack - 7 :_(no debug info) Find error:_6F2BF379
        call stack - 8 :_(no debug info) Find error:_6F2B63C2
        call stack - 9 :_(no debug info) Find error:_6F2B6347
        call stack - 10 :_(no debug info) Find error:_6F2B3B43
        call stack - 11 :_(no debug info) Find error:_6F2B63C2
        call stack - 12 :_(no debug info) Find error:_6F2B6347
        call stack - 13 :_(no debug info) Find error:_6F2B6B99
        call stack - 14 :_(no debug info) Find error:_6F2C70AD
        call stack - 15 :_(no debug info) Find error:_6B985E0A
        call stack - 16 :_(no debug info) Find error:_6B98618E
        call stack - 17 :_(no debug info) Find error:_005BD9D6
        call stack - 18 :_(no debug info) Find error:_0075A54E
        call stack - 19 :_(no debug info) Find error:_00796BF5
        call stack - 20 :_(no debug info) Find error:_006B7473
        call stack - 21 :_(no debug info) Find error:_008DFADB
        call stack - 22 :_(no debug info) Find error:_008E2B7C
        call stack - 23 :_(no debug info) Find error:_006B0D76
        call stack - 24 :_(no debug info) Find error:_008E2813
        call stack - 25 :_(no debug info) Find error:_0043226A
        call stack - 26 :_(no debug info) Find error:_7E418730
        6276.547s - PID:6036 - MMDS:_Written 101376 bytes
        6276.859s - PID:6036 - MMDS:_Written 101376 bytes
        6277.422s - PID:6036 - MMDS:_Written 101376 bytes
        6278.015s - PID:6036 - MMDS:_Written 101376 bytes
        6278.609s - PID:6036 - MMDS:_Written 101376 bytes
        6279.172s - PID:6036 - MMDS:_Written 101376 bytes
        6279.750s - PID:6036 - MMDS:_Written 101376 bytes
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

Teknojnky wrote:I'm using 3.03.1137 (from beta forum sticky).
You are adding completely new favorite nodes (from right click a node > add to favourite nodes) yes?
Yes. I can create complete new nodes. I allways was able to create the fav nodes, even with Steegy's version v1.1.
My problem was jumping to the fav nodes. :o ???

@Steegy: It's time for U to take over command again! :D Help us! Pleeeeeeeeeeeeeeeese!
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

Perhaps its an isolated issue with 1137 or my particular setup (and other installed scripts), we shall see if anyone else have problem or not. Maybe it will not be a problem.
Music_Cat
Posts: 40
Joined: Wed Dec 26, 2007 9:26 am
Location: South Africa - formerly UK

Post by Music_Cat »

Limex - it works now for me!

You're a genius..... :D

Image
Read through the forum and you'll learn plenty
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

Teknojnky wrote:Perhaps its an isolated issue with 1137 or my particular setup (and other installed scripts), we shall see if anyone else have problem or not. Maybe it will not be a problem.
Currently there is a 1 all when it come to working vs non working! :D
I had a look over the code that adds a fav node. It stores the number of nodes in the MediaMonkey.ini file. Perhaps this is out of sync.
Open the ini file and search for this section FavouriteNodes and reset it to this:

Code: Select all

[FavouriteNodes]
Count=0
Just guessing. Hope it helps
Steegy
Posts: 3452
Joined: Sat Nov 05, 2005 7:17 pm

Post by Steegy »

Try this one: http://home.scarlet.be/ruben.castelein/ ... des1.2.exe

If it works (it should work for both MM2 as MM3) I'll put it on the first post as mmip package.

For favorite node specifications that don't exist (e.g. other language used in MM, old/custom nodes) the script will show a message. You can easily remove these incorrect favorites through the Edit menu.

Cheers
Steegy
Extensions: ExternalTools, ExtractFields, SongPreviewer, LinkedTracks, CleanImport, and some other scripts (Need Help with Addons > List of All Scripts).
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

that seems to work for me Steegy, thanks again!
limex
Posts: 65
Joined: Sat Oct 22, 2005 10:29 am
Location: Vienna / Austria

Post by limex »

Works also for my version of MM.
Welcome back! Its great that the master of FavNodes is back. Now the apprentice can leave the stage. :wink:
Post Reply