Advertisement
kiwijunglist

Untitled

Aug 5th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. GetMusicVideos(ArrayArtists,ArrayMBIDs,varMessage)
  2. {
  3. global varAUDIODBKEY, varDatabasefile, varCANCEL, varShowTrayTips, Sources, SourceAudioDB
  4. ArrayVideos := Object()
  5.  
  6. ; for index, in ArrayArtists
  7. ; msgbox % index
  8.  
  9. ; Get Video URLS from other Sources
  10.  
  11. for source, in Sources
  12. {
  13. FileRead, xmlString, Files\%source%
  14. msgbox % xmlString
  15. Pos := 1
  16. Loop
  17. {
  18. Pos := RegExMatch(xmlString, "<mvdartist>([^<>]*)</mvdartist>", Out, Pos)
  19. Artist := Out1
  20. RegExMatch(xmlString, "<mvdtitle>([^<>]*)</mvdtitle>", Out, Pos)
  21. Title := Artist . " - " . Out1
  22. RegExMatch(xmlString, "<mvdurl>([^<>]*)</mvdurl>", Out, Pos)
  23. Url := Out1
  24. if (IsAnIndex(Artist,ArrayArtists))
  25. If (title <> "unknown")
  26. ArrayVideos[Artist,title] := Url
  27. Pos++
  28. } until Pos = 1
  29. }
  30.  
  31. if (SourceAudioDB)
  32. {
  33. Count := 0
  34. for x in ArrayMBIDS
  35. Count++
  36. for varMBID, in ArrayMBIDS ;Get Video URLS for MBIDS from AudioDB
  37. {
  38. varCacheFile := "Cache\" varMBID ".txt"
  39. if not FileExist(varCacheFile)
  40. URLDownloadToFile, http://www.theaudiodb.com/api/v1/json/%varAUDIODBKEY%/mvid-mb.php?i=%varMBID%, %varCacheFile%
  41. fileread, jsonString, %varCacheFile%
  42. ifinstring, jsonstring, % "{""mvids"":null}"
  43. Continue
  44. Artist := ArrayMBIDs[varMBID]
  45. PosA := 1
  46. Loop
  47. {
  48. PosA := RegExMatch(jsonString, """strTrack"":""(.[^""]*)""", Out, PosA)
  49. Title := JavaEscapedToUnicode(Out1)
  50. RegExMatch(jsonString, """strMusicVid"":""(.[^""]*)""", Out, PosA)
  51. URL := cmdCleanYouTubeURL(Out1)
  52. if (URL = "ERROR")
  53. Title := ""
  54. if Title is not space
  55. {
  56. Title := Artist . " - " . Title
  57. ArrayVideos[artist,title] := Url
  58. }
  59. PosA++
  60. } until PosA = 1
  61. if varShowTrayTips
  62. TrayTip,, % "Adding music videos for:`n" ArrayMBIDS[varMBID]
  63. GuiControl, ,varProgress2, % A_Index / Count * 100
  64. if varCancel
  65. Return
  66. }
  67. }
  68.  
  69. GuiControl, ,varProgress2, 100
  70. if (varShowTrayTips)
  71. TrayTip,, Finished Creating Music Video List for`n %varMessage%
  72.  
  73. Gui, Confirm:Default
  74. Gui, Confirm:Add, ListView,w700 sort, Name|URL Code
  75. for artist, in ArrayVideos
  76. for title, in ArrayVideos[artist]
  77. LV_Add("", title, ArrayVideos[artist,title])
  78. LV_ModifyCol()
  79.  
  80. Gui, Confirm:Add, Button, gDelete, Delete
  81. Gui, Confirm:Add, Button, gView, View
  82. Gui, Confirm:Add, Button, gEdit, Edit
  83. Gui, Confirm:Add, Button, gSubmit, Submit
  84. Gui, Adding:Hide
  85. Gui, Confirm:Show
  86.  
  87. Goto EndFunction
  88.  
  89. Delete:
  90. RowNumber := 0
  91. DeleteArray := []
  92. Loop
  93. {
  94. RowNumber := LV_GetNext(RowNumber)
  95. if not RowNumber
  96. Break
  97. DeleteArray[RowNumber] := "DEL"
  98. }
  99. for index, in DeleteArray
  100. LV_Delete(index-A_Index+1)
  101. Return
  102.  
  103. View:
  104. RowNumber := 0
  105. Loop
  106. {
  107. RowNumber := LV_GetNext(RowNumber)
  108. if not RowNumber
  109. Break
  110. LV_GetText(Text, RowNumber,2)
  111. msgbox % text
  112. }
  113. Return
  114.  
  115. Edit:
  116. RowNumber := 0
  117. Loop
  118. {
  119. RowNumber := LV_GetNext(RowNumber)
  120. if not RowNumber
  121. Break
  122. LV_GetText(Text, RowNumber,1)
  123. InputBox, text, Edit Video Name,,,,,, , , , %text%
  124. LV_Modify(RowNumber, "", text)
  125. }
  126. Return
  127.  
  128. Submit:
  129. GuiControl, Disable, Submit
  130. GuiControl, Disable, Edit
  131. GuiControl, Disable, View
  132. GuiControl, Disable, Delete
  133. if (varShowTrayTips)
  134. TrayTip,, Adding Videos to databse for:`n %varMessage%
  135. Loop % LV_GetCount()
  136. {
  137. LV_GetText(title, A_Index, 1)
  138. LV_GetText(url, A_Index, 2)
  139. IniRead, Status, %varDatabaseFile%, DOWNLOAD LIST, %URL%, % "__________"
  140. Status := SubStr(Status,2,4)
  141. IniWrite, % " (" Status ") " . title, %varDatabaseFile%, DOWNLOAD LIST, %url%
  142. }
  143. Pause Off
  144. Return
  145.  
  146. EndFunction:
  147. Pause On
  148. Gui, Confirm:Destroy
  149. Gui, Adding:Show
  150. Return
  151. }
  152.  
  153. IsAnIndex(Str,Array) ;Returns True if Str is an index for Array
  154. {
  155. for index, in Array
  156. {
  157. if (Str = Index)
  158. Return TRUE
  159. }
  160. return FALSE
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement