Option Explicit Function OnInit(initData) initData.name = "Command_AddJpgFromClipboardToMp3" initData.desc = "Add jpg files from clipboard to selected mp3." initData.min_version = "11.12" initData.copyright = "2015 Albator V (Michiels Thomas)" initData.version = "v1.0" initData.default_enable = true initData.config.ClearOutput = false initData.config.WriteOutput = false initData.config_desc = Dopus.Create.Map("ClearOutput", "Clear output when run command.", _ "WriteOutput", "Show messages in output.") End Function Function OnAddCommands(addCmdData) Dim cmd: Set cmd = addCmdData.AddCommand() cmd.name = "AddJpgFromClipboardToMp3" cmd.method = "OnAddJpgFromClipboardToMp3" cmd.desc = "Add jpg files from clipboard to selected mp3" cmd.label = "AddJpgFromClipboardToMp3" cmd.icon = "setwallpaper" End Function Function OnAddJpgFromClipboardToMp3(funcData) Dim strClip Dim strClipArrayJpg Dim ImageFile Dim NonMp3File Dim strInformation ' Clear log If script.config.ClearOutput = True Then Dopus.clearOutput ' Find jpg in clipboard If DOpus.GetClipFormat() = "files" Then strClipArrayJpg = Empty For Each ImageFile In DOpus.GetClip("files") If ImageFile.display_name <> "" Then strClip = ImageFile.path & "\" & ImageFile.display_name Else strClip = ImageFile.path & "\" & ImageFile.name End If If Right(strClip,3) = "jpg" Then If IsEmpty(strClipArrayJpg) Then ReDim strClipArrayJpg(0) Else ReDim Preserve strClipArrayJpg(UBound(strClipArrayJpg)+1) End If strClipArrayJpg(UBound(strClipArrayJpg)) = strClip End If Next End If ' Remove non mp3 file from command For Each NonMp3File In funcData.Func.Command.files If Right(NonMp3File,3) <> "mp3" Then funcData.Func.Command.RemoveFile (NonMp3File) Next ' Add jpg to selection If IsEmpty(strClipArrayJpg) Then If script.config.WriteOutput = True Then DOpus.OutputString "Alert: No jpg file in clipboard." Else Select Case UBound(strClipArrayJpg)+1 Case 1: strInformation = "Information: " & UBound(strClipArrayJpg)+1 & " jpg file to add." Case Else: strInformation = "Information: " & UBound(strClipArrayJpg)+1 & " jpg files to add." End Select If script.config.WriteOutput = True Then Dopus.OutputString strInformation For Each ImageFile In strClipArrayJpg If script.config.WriteOutput = True Then Dopus.OutputString "Command sent: " & "SetAttr META ""coverart:+3:" & ImageFile & """" funcData.Func.Command.RunCommand "SetAttr META ""coverart:+3:" & ImageFile & """" Next End If End Function