Nero cover designer cdc support

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

Moderators: Peke, Gurus

Paps4
Posts: 5
Joined: Wed Jun 28, 2006 4:59 pm

Nero cover designer cdc support

Post by Paps4 »

Is it possible, even under the form of a plugin to export a set of songs or a playlist, into the data fields of nero cover designer, like nero does when finished recording a disc?

It sort of opens up cover designer, with all the data ready... Probably difficult to do, but can it be done?
Bex
Posts: 6316
Joined: Fri May 21, 2004 5:44 am
Location: Sweden

Post by Bex »

I dont have nero cover designer but if it can import m3u playlist, simply export your songs by highlighting them and "Right click->Send to->.m3u playlist".

/Bex
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
MoDementia
Posts: 1321
Joined: Thu Jun 15, 2006 3:26 pm
Location: Geelong, Victoria, Australia

Post by MoDementia »

Nero recognises m3u playlists but coverdesign requires *.cdc

I'm downloading the help file now see if I can find something
Paps4
Posts: 5
Joined: Wed Jun 28, 2006 4:59 pm

Post by Paps4 »

nero coverdesigner doesn't support m3u unfortunatelly. that's why i wanted something in the form of a plugin... for immediacy, because for nero to read an audio cd (cd text) it takes about 3 minutes ( with cache files from cd-rom option turned off), and it also reads the cd-text tags which are more limited (no of characters and symbols) than mp3 tags, but nero cover designer isn't. Which is annoying having a title cut off from the cd-text import you waited 3 minutes to get. :)
MoDementia
Posts: 1321
Joined: Thu Jun 15, 2006 3:26 pm
Location: Geelong, Victoria, Australia

Post by MoDementia »

Longer than converting m3u to cdc but shorter than using the CD

Use MM, select playlist, file, create report, excel
or open playlist directly into excel using "," and/or "\" as delimiter

Copy and Paste excel selection into coverdesign as image
or
Copy and paste excel selection into notepad then copy and paste into coverdesign text box
Paps4
Posts: 5
Joined: Wed Jun 28, 2006 4:59 pm

Post by Paps4 »

that's not the way this will work. I need the cd data to be inserted as data in coverdesigner, because i use specific templates in order to show/not show artist names etc... it won't help if I paste as text.
GuidoR13
Posts: 14
Joined: Sun Mar 13, 2005 7:38 am

Nero Cover Designer - Report to CDC-File

Post by GuidoR13 »

Not perfect but works for me.

Code: Select all

' Export_CDC.vbs - Write CDC-File to import into nero cover designer
' Based on export.vbs - THANX
' Version 1.0/GR
''''''''''''''''''''''''''''''
''                          '' 
''   Use a your own risk!   ''
''                          ''
''''''''''''''''''''''''''''''
' Look for '*' to adapt exported information
' Copy to MediaMonkeys script directory
' Add to scripts.ini:
'   [ExportCDC]
'   FileName=Export_CDC.vbs
'   ProcName=ExportCDC
'   Order=7
'   DisplayName=Track List for Nero CD
'   Description=Exports selected tracks for Nero Cover Designer
'   Language=VBScript
'   ScriptType=1
' Restart MM, should appear in File / Reports ...
Option Explicit
Dim list      ' list of songs to be exported
Dim res       ' results of dialogs calls
Dim fullfile  ' fully specified output file name
Dim fso       ' FileSystemObject
' SDB variable is connected to MediaMonkey application object
Sub InitExport( ext, filter, iniDirValue)
  fullfile = ""
  Set list = SDB.CurrentSongList  ' Get a list of songs to be exported
  If list.count=0 Then
    res = SDB.MessageBox(SDB.Localize("Select tracks to be exported, please."), mtError, Array(mbOk))
    Exit Sub
  End If
  Dim iniF
  Set iniF = SDB.IniFile    ' Open inifile and get last used directory
  Dim dlg
  Set dlg = SDB.CommonDialog    ' Create common dialog and ask where to save the file
  dlg.DefaultExt=ext
  dlg.Filter=filter
  dlg.Flags=cdlOFNOverwritePrompt + cdlOFNHideReadOnly + cdlOFNNoChangeDir
  dlg.InitDir = iniF.StringValue( "Scripts", iniDirValue)
  dlg.ShowSave
  if Not dlg.Ok Then
    Exit Sub   ' if cancel was pressed, exit
  End If
  fullfile = dlg.FileName   ' Get the selected filename
  Set fso = SDB.Tools.FileSystem  ' Connect to the FileSystemObject
  iniF.StringValue( "Scripts", iniDirValue) = fullfile   ' Write selected directory to the ini file
End Sub

Sub FinishExport( ok)
  On Error Resume Next
  if not Ok then    ' remove the output file if terminated
    fso.DeleteFile( fullfile)
  end if
End Sub

Sub ExportCDC
  ' initialize export 
  Call InitExport( ".cdc", "Nero Cover Designer Import (*.cdc)|*.cdc|All files (*.*)|*.*", _ 
                   "LastExportCDCDir") 
  if fullfile="" then 
    Exit Sub 
  end if 
  Dim fout   
  Set fout = fso.CreateTextFile( fullfile, True)    ' Create the output file 
  fout.WriteLine "[CDINFO]"
  fout.WriteLine "Type=Audio-CD" 
  fout.WriteLine "Title=Exported from MM" '*' "Title=" & itm.AlbumName
  fout.WriteLine "Artist=" '*' 
  fout.WriteLine "Tracks=" & list.count
  Dim Progress 
  Set Progress = SDB.Progress  ' Use progress to notify user about the current action 
  Progress.Text = SDB.Localize("Exporting...")
  Progress.MaxValue = list.count 
  Dim i, itm, oldalbum
  For i=0 to list.count-1
      Set itm = list.Item(i) 
      fout.WriteLine "[Track" & i+1 & "]"
      fout.WriteLine "Type=Audio"
    	fout.WriteLine "Artist=" & itm.Title '*' itm.ArtistName
    	'*' Special> Write Albumname as title only when album changes
    	if ( oldalbum = itm.AlbumName ) then 
        fout.WriteLine "Title=" 
      else
        fout.WriteLine "Title=" & itm.AlbumName
        oldalbum = itm.AlbumName
      end if
      '*' <Special
      '*' fout.WriteLine "Title=" & itm.Title  
      fout.WriteLine "Playtime=" & itm.SongLengthString 
    	Progress.Value = i+1 
    	if Progress.Terminate then 
      		Exit For 
    	end if 
  Next 
  fout.Close' Close the output file and finish 
  Dim ok 
  if Progress.Terminate then 
    ok = False 
  else 
    ok = True 
  end if 
  Set Progress = Nothing 
  FinishExport( ok) 
End Sub 
MoDementia
Posts: 1321
Joined: Thu Jun 15, 2006 3:26 pm
Location: Geelong, Victoria, Australia

Post by MoDementia »

Excellent, I'll give it a try later.
johnbot
Posts: 18
Joined: Tue Apr 10, 2007 6:01 am

New version 1.1 of 'Export CDC' script

Post by johnbot »

Thanks GuidoR for your script - that was exactly what I was looking for!
As I print covers with Nero Cover Designer (which, btw, is freeware!) quite often, I added a few features to the script (see code below):
  • Automatic selection of list title for the exported CDC: If a playlist is selected for export, the title of the playlist is chosen. In all other cases the script checks the album tags of the selected songs. If they are all the same this album is taken for title. Otherwise the title will be a default name you can define in the script like "Exported from MM".

    Automatic selection of list artist for the exported CDC: The script checks the artist tags of the selected songs. If they are all the same this artist is chosen. Otherwise the artist will be a default name you can define in the script like "Various Artists".

    When exporting is finished you can have the script open the CDC in Nero Cover designer (or whatever program is registered in windows to handle the .CDC file extension). So if you happen to still use the ancient Feurio Cover Editor by Jens Fangmeier which also uses CDC files it will work the same.

Code: Select all


' Export_CDC.vbs - Write CDC-File to be imported into nero cover designer
'                  (works also with good old Feurio cover designer)

' Version 1.1/johnbot
' VDate   21.04.2013

' This script is based on Version 1.0/GR by GuidoR13
' which itself is based on the MM original export.vbs - THANX

' Look for the section "YOUR PREFERENCES" to adapt exported information
' Script is NOT tested in MM4 ! (in fact only in 3.2.2)

' INSTALL GUIDE:
' Copy to MediaMonkeys script directory
' Add to scripts.ini:
'   [ExportCDC]
'   FileName=Export_CDC.vbs
'   ProcName=ExportCDC
'   Order=7
'   DisplayName=Track List for Nero CD
'   Description=Exports selected tracks for Nero Cover Designer
'   Language=VBScript
'   ScriptType=1
' Restart MM, script should appear in File / Reports ...

Option Explicit

'---- Constants for SDBUI::MainWindowFocus
Const cUI_MWF_Undef = 0
Const cUI_MWF_Tree = 1
Const cUI_MWF_TrkLst = 2
Const cUI_MWF_Search = 3
Const cUI_MWF_NwPlng = 4

Dim list      ' list of songs to be exported
Dim res       ' results of dialogs calls
Dim fullfile  ' fully specified output file name
Dim fso       ' FileSystemObject
' SDB variable is connected to MediaMonkey application object

Sub InitExport(ext, filter, iniDirValue)
  Dim iniF
  Dim dlg
  
  fullfile = ""
  Set list = SDB.CurrentSongList  ' Get a list of songs to be exported
  If list.count=0 Then
    res = SDB.MessageBox(SDB.Localize("Select tracks to be exported, please."), mtError, Array(mbOk))
    Exit Sub
  End If
  
  Set iniF = SDB.IniFile    ' Open inifile and get last used directory
  Set dlg = SDB.CommonDialog    ' Create common dialog and ask where to save the file
  dlg.DefaultExt=ext
  dlg.Filter=filter
  dlg.Flags=cdlOFNOverwritePrompt + cdlOFNHideReadOnly + cdlOFNNoChangeDir
  dlg.InitDir = iniF.StringValue( "Scripts", iniDirValue)
  dlg.ShowSave
  if Not dlg.Ok Then
    Exit Sub   ' if cancel was pressed, exit
  End If
  fullfile = dlg.FileName   ' Get the selected filename
  Set fso = SDB.Tools.FileSystem  ' Connect to the FileSystemObject
  iniF.StringValue( "Scripts", iniDirValue) = fullfile   ' Write selected directory to the ini file
End Sub


Sub FinishExport(ok)
  On Error Resume Next
  if not Ok then    ' remove the output file if terminated
    fso.DeleteFile(fullfile)
  end If
  Set list = Nothing
End Sub


Sub ExportCDC
  Dim filOut
  Dim fOk
  Dim fUsePlaylistTitle
  Dim i, itm
  Dim lstAlbums, alb
  Dim lstArtists, ats
  Dim Progress
  Dim strArtist, strTitle
  Dim strVarious, strDefaultTitle
  Dim strOldAlbum
  Dim oShell

  '========== YOUR PREFERENCES HERE ==========
  strDefaultTitle = "Exported from MM"  ' change to your preferred default
  strVarious = "Various"                ' change to your standard for 'various artists'
  fUsePlaylistTitle = True              ' True or False (use "False" if Default Title
                                        ' is preferred for playlists)
  '==========    END PREFERENCES    ==========

  '----- create CDC file
  Call InitExport(".cdc", "Nero Cover Designer Import (*.cdc)|*.cdc|All files (*.*)|*.*", _ 
                  "LastExportCDCDir") 
  If fullfile = "" then 
    Exit Sub
  End If
  Set filOut = fso.CreateTextFile(fullfile, True)

  '----- find out title
  '--- playlist title if a playlist is selected in UI tree
  If (SDB.UI.MainWindowFocus = cUI_MWF_Tree) _
      And Not (SDB.MainTree.CurrentNode Is Nothing) Then
    Select Case SDB.MainTree.CurrentNode.NodeType
    Case 61    ' Playlist (non-auto) selected
      If fUsePlaylistTitle Then
        strTitle = SDB.MainTree.CurrentNode.Caption
      End If
    End Select
  End If
  '--- album title if all songs are from the same album
  If strTitle = "" Then
    Set lstAlbums = list.Albums
    If lstAlbums.Count = 1 Then
      Set alb = lstAlbums.Item(0)
      strTitle = alb.Name    ' could result in empty string
    End If
  End If
  '--- if both is not the case: use default title
  If strTitle = "" Then
    strTitle = strDefaultTitle
  End If

  '----- find out artist (if there is more then one in the list, "Various" is used)
  Set lstArtists = list.Artists
  If lstArtists.Count = 1 Then
    Set ats = lstArtists.Item(0)
    strArtist = ats.Name
  Else
    strArtist = strVarious
  End If

  '----- write header of CDC file
  filOut.WriteLine "[CDINFO]"
  filOut.WriteLine "Type=Audio-CD"
  filOut.WriteLine "Title=" & strTitle
  filOut.WriteLine "Artist=" & strArtist
  filOut.WriteLine "Tracks=" & list.count
  ' filOut.WriteLine "Playtime=" & ""  ' would need to be computed, not yet implemented

  '----- export all the songs
  Set Progress = SDB.Progress  ' Use progress to notify user about the current action 
  Progress.Text = SDB.Localize("Exporting...")
  Progress.MaxValue = list.count 
  For i = 0 to list.count - 1
    Set itm = list.Item(i) 
    filOut.WriteLine "[Track" & i + 1 & "]"
    filOut.WriteLine "Type=Audio"
    filOut.WriteLine "Artist=" & itm.ArtistName
    '*' SPECIAL>> Write Albumname as title only when album changes
    ' if (strOldAlbum = itm.AlbumName) then 
    '   filOut.WriteLine "Title=" 
    ' else
    '   filOut.WriteLine "Title=" & itm.AlbumName
    '   strOldAlbum = itm.AlbumName
    ' end if
    '*' <<SPECIAL
    filOut.WriteLine "Title=" & itm.Title  
    filOut.WriteLine "Playtime=" & itm.SongLengthString 
    Progress.Value = i + 1 
    If Progress.Terminate then 
      Exit For 
    End if 
  Next 
  filOut.Close

  '----- clean up & finish
  If Progress.Terminate then 
    fOk = False 
  Else 
    fOk = True 
    If SDB.MessageBox("Export finished. Open in Cover Designer?" _
        , mtConfirmation, Array(mbOk, mbCancel)) = mrOk Then
      Call CreateObject("WScript.Shell").Run(Chr(34) & fullfile & Chr(34))
    End If
  End If
  Set Progress = Nothing
  Set lstAlbums = Nothing
  Set alb = Nothing
  Set lstArtists = Nothing
  Set ats = Nothing
  FinishExport fOk

End Sub 
Post Reply