<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediamonkey.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Sample_Lyricist_Tree_Node_script</id>
	<title>Sample Lyricist Tree Node script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediamonkey.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Sample_Lyricist_Tree_Node_script"/>
	<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Sample_Lyricist_Tree_Node_script&amp;action=history"/>
	<updated>2026-05-07T05:58:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Sample_Lyricist_Tree_Node_script&amp;diff=2052&amp;oldid=prev</id>
		<title>Jiri at 21:46, 25 March 2007</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Sample_Lyricist_Tree_Node_script&amp;diff=2052&amp;oldid=prev"/>
		<updated>2007-03-25T21:46:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039; Sample Lyricist Tree script&lt;br /&gt;
&amp;#039;&lt;br /&gt;
&amp;#039; This script adds new Lyricist node that contains all lyricists in Library as its &lt;br /&gt;
&amp;#039; subnodes. The script further allows to edit individual lyricist or drag&amp;amp;drop tracks&lt;br /&gt;
&amp;#039; to lyricist nodes.&lt;br /&gt;
&lt;br /&gt;
Sub OnStartup&lt;br /&gt;
  Set Tree = SDB.MainTree&lt;br /&gt;
&lt;br /&gt;
  Set Node = Tree.CreateNode&lt;br /&gt;
  Node.Caption = &amp;quot;Lyricist&amp;quot;&lt;br /&gt;
  Node.IconIndex = 0&lt;br /&gt;
  Node.UseScript = Script.ScriptPath&lt;br /&gt;
  Node.OnFillChildren = &amp;quot;FillLyricists&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Tree.AddNode Tree.Node_Artist, Node, 1     &amp;#039; Insert after the node&lt;br /&gt;
  Node.HasChildren = True&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub FillLyricists( Node)&lt;br /&gt;
  Set Tree = SDB.MainTree&lt;br /&gt;
&lt;br /&gt;
  Node.HasChildren = false   &amp;#039; To delete all old children&lt;br /&gt;
&lt;br /&gt;
  Set Iter = SDB.Database.OpenSQL( &amp;quot;SELECT DISTINCT TextData FROM AddSongInfo WHERE DataType=200 Order BY TextData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  While Not Iter.EOF&lt;br /&gt;
    Set NewNode = Tree.CreateNode&lt;br /&gt;
    NewNode.Caption = Iter.StringByIndex(0)&lt;br /&gt;
    NewNode.CustomData = Iter.StringByIndex(0)&lt;br /&gt;
    NewNode.IconIndex = 0&lt;br /&gt;
    NewNode.UseScript = Script.ScriptPath&lt;br /&gt;
    NewNode.OnFillTracksFunct = &amp;quot;FillLyricist&amp;quot;&lt;br /&gt;
    NewNode.OnEdited = &amp;quot;LyricistEdited&amp;quot;&lt;br /&gt;
    NewNode.OnDragDrop = &amp;quot;LyricistDragDrop&amp;quot;&lt;br /&gt;
    Tree.AddNode Node, NewNode, 3     &amp;#039;  Add as the last child&lt;br /&gt;
    Iter.Next&lt;br /&gt;
  WEnd&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub FillLyricist( Node)&lt;br /&gt;
  Set Trcks = SDB.MainTracksWindow&lt;br /&gt;
&lt;br /&gt;
  Trcks.AddTracksFromQuery( &amp;quot;and Songs.ID in (SELECT IDSong FROM AddSongInfo WHERE DataType=200 AND TextData=&amp;#039;&amp;quot; &amp;amp; Node.CustomData &amp;amp; &amp;quot;&amp;#039;)&amp;quot;)&lt;br /&gt;
  Trcks.FinishAdding&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub LyricistEdited( Node, NewText)&lt;br /&gt;
  SDB.Database.ExecSQL( &amp;quot;UPDATE AddSongInfo SET TextData=&amp;#039;&amp;quot; &amp;amp; NewText &amp;amp; &amp;quot;&amp;#039; WHERE DataType=200 and TextData=&amp;#039;&amp;quot; &amp;amp; Node.CustomData &amp;amp; &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
  Node.CustomData = NewText&lt;br /&gt;
  Node.Caption = NewText&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Function LyricistDragDrop( destNode, srcNode, SongList, DropType, Test)&lt;br /&gt;
  If Test Then&lt;br /&gt;
    LyricistDragDrop = 2         &amp;#039; Move operation&lt;br /&gt;
  Else&lt;br /&gt;
    Dim i, itm&lt;br /&gt;
    For i=0 To SongList.Count-1&lt;br /&gt;
      Set itm = SongList.Item(i)&lt;br /&gt;
      itm.Lyricist = destNode.CustomData&lt;br /&gt;
      itm.UpdateDB&lt;br /&gt;
    Next&lt;br /&gt;
  End If&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jiri</name></author>
	</entry>
</feed>