This add-on could be used with MediaMonkey v2.x or higher. It has two operation modes, manual and automatic. In the manual mode it allows batch export of .m3u files or creating of playlists for each child node of the node selected in the tree panel. For example, if you select the Playlists node, you would export .m3u files for all playlists in the Library. This works with almost all nodes, even the Magic Nodes. In the automatic mode this add-on periodically saves specified playlist node and/or its sub-nodes from the Playlists branch.
M3U files/playlists could be saved in a hierarchically organized folders within the specified parent folder, using the same structure as sub-nodes of the selected node, or could be saved in single folder using specified string as separator. M3U files could be saved in ANSI, UTF-8 or Unicode, in simple or extended .m3u format. Track paths could be URL encoded and stored absolute or relative to the .m3u file path using Windows "\" or Unix "/" folder separator. If the relative path option is turned off, the paths stored in .m3u files would be same as they are in the Path field of the database, but could be also replaced with the user-defined replacement, e.g. "c:\Documents and Settings\" could be replaced with "e:\My Music\".
Paths that you want to replace could be specified using Regular expressions, e.g. "^.+\\(?=[^\\]+\.[^\.\\]+$)" is the expression which represents any full path, excluding the filename and the extension. So, using that expression, if you leave the with: text box empty, all folders would be removed from paths, saving only filenames and extensions into .m3u files. Or you could enter "e:\Playlists\" and all folders would be replaced with that single one.
This add-on also allows copying of audio files and export of the selected node or selected tracks only.
http://solair.eunet.rs/~zvezdand/Export ... bNodes.htm
What is new:
v3.6.1 - 2012-01-09
* Fixed: URL paths in .m3u files option for network drives using UNC.
v3.6 - 2011-11-21
* Added: Export As .m3u Playlist to Selected Folder and Export M3Us for Child Nodes to Same Folders commands to the File menu and the tree's context menu which allows export of the selected node (and its sub-nodes) to the same folder(s) with media files (only enabled for nodes within Location and My Computer branches).
v3.5.3 - 2011-10-26
* Fixed: empty string specified in Options box (e.g. with: text box) replaced with default value after restart;
* Fixed: From text box for auto-export in Options box now accepts manually entered nested playlists using "\" as separator.
v3.5.2 - 2011-06-12
* Fixed: Export M3Us & Copy Files for Child Nodes command (broken in v3.4).
v3.5.1 - 2011-04-22
* Fixed: the From field for automatic export when Playlists is specified;
* Fixed: automatic export Every xx minutes without need to restart the program.
v3.5 - 2011-04-17
* Added: Export As .m3u Playlist command to the File menu and the tree's context menu which allows export of the selected node (similar to the Send To \ Export as .m3u playlist option, but more configurable).
v3.4.1 - 2011-03-17
* Fixed: error on start-up (broken in v3.3) [MM2].
v3.4 - 2011-01-17
* Added: Replace paths/with: dropdown lists with the last 5 entered strings;
* Fixed: automatic export on shutdown if automatic export on every xx minutes is not used;
* Fixed: settings of playlist for automatic export with non-skinned program;
* Fixed: export of .m3u files for nodes which are grandchildren of nodes without tracks;
* Fixed: export of .m3u files for playlists when some of parent playlists has duplicate name on the same node level;
* Fixed: restoring of expanded state of nodes after finished export.
v3.3 - 2010-07-13
* Added: Export As .m3u Playlist command to the main tracklist and Now Playing context menu which allows export of selected tracks only (similar to the Send To \ Export as .m3u playlist option, but more configurable).
v3.2 - 2010-07-02
* Changed: Unix folder separator option to Unix .m3u file format; a .m3u files would have both the "/" as a separator and a new line without a carriage return when this option is turned on.
v3.1 - 2010-06-21
* Added: Export M3Us & Copy Files for Child Nodes command which allows copying of audio files beside of exported .m3u files.
v3.0.1 - 2010-05-23
* Fixed: error with URL paths in .m3u files and ANSI/Unicode formats.
v3.0 - 2010-05-22
* Added: option to export all .m3u files to single folder using specified string as separator between node names in .m3u filenames (e.g. e:\Playlists\Rock - Pink Floyd - Dark Side of the Moon.m3u, using " - " as separator);
* Added: option to store URL encoded paths in .m3u files (e.g. file:///C:/Temp/%D0%97%D0%B2%D0%B5%D0%B7%D0%B4%D0%B0%D0%BD.mp3).
v2.9.3 - 2010-05-20
* Fixed: automatic export on startup, now with 1 second delay to enable loading of main window.
v2.9.2 - 2010-04-22
* Fixed: export with First level and Last level of nodes only options for the All nodes in Location and My Computer branches.
v2.9.1 - 2010-04-20
* Fixed: error when the Create playlists for child nodes sub-menu is displayed if the last created playlist doesn't exist, e.g. if you start MM with another database file.
v2.9 - 2010-04-05
* Added: option to save .m3u files/create playlists for the last (deepest) level of nodes only;
* Added: option to save paths in .m3u files using Unix separator ("/") instead of Windows ("\");
* Improved: speed of displaying menu with playlists if there are many of them;
* Changed: the list of playlists in the Options dialog box is now limited to playlists on the first level because the large number of nested playlists have slowed down its display; if you need to specify some nested playlist, you could still write it using "\" as a separator between nested levels.
v2.8 - 2009-08-25
- Added: option to save .m3u files in child folders, i.e. one level more in depth (until now they are saved to parent folders only).
v2.7 - 2009-07-08
- Added: option to replace folders in .m3u files with specified string;
- Added: option to remove Byte-order mark (BOM) from the begin of UTF-8 files.
v2.6.1 - 2009-04-21
- Fixed: error with Options sheet and playlists with duplicated names.
v2.6 - 2009-04-20
- Added: option to create a new dated folder once in a day.
v2.5 - 2009-04-20
- Added: option for an automatic export on startup;
- Added: option to create a new folder with a date/time in its name for every auto-export.
v2.4 - 2009-04-19
- Added: option to automatically export specified playlists on shutdown or periodically with customizable time interval.
v2.3 - 2009-04-17
- Added: option to exclude AutoPlaylists from export.
v2.2 - 2009-04-16
- Added: option to save .m3u files in simple or extended format;
- Improved: speed when export nodes from Playlists branch.
v2.1 - 2009-02-25
- Added: option to save .m3u files as ANSI, UTF-8 or Unicode.
v2.0 - 2009-02-12
- Added: possibility to create playlists in the Playlists node in similar way as export of .m3u files.
v1.4 - 2009-01-24
- Improved: speed with MM 18.104.22.1688 and up, especially for empty nodes/folders.
v1.3 - 2009-01-10
- Added: option to export the playlist for the parent (selected) node (beside of child nodes);
- Added: option to exclude unavailable tracks from export;
- Improved: speed and work with the All nodes from My Computer and Location branch;
- Fixed: relative paths;
- Fixed: playlist filenames for some Magic Nodes, e.g. Album Artist with Album (MN v2.0 or up required).
v1.2.1 - 2008-11-29
- Fixed: export when turned on the Regular expressions option and turned off the Skip for folders option.
v1.2 - 2008-11-29
- Added: an option to store track paths relative to the playlist path (default setting as it is in MM);
- Added: an option to skip export of playlists for specified nodes/folders (e.g. DiscXX for multi-CD);
- Added: an option to use Regular expressions for specifying nodes/folders;
- Added: an option to exclude files with specified extensions from export;
- Added: skipping of All node (even for Magic Nodes) and playlist files from My Computer branch from export;
- Fixed: unresponsive program with 100% CPU when trying to export an empty node/folder (e.g. in My Computer node).
v1.1 - 2008-11-28
- Added: an option to recursively scan all sub-levels of the selected node (default setting), playlists are stored in a hierarchically organized folder structure, same as with the selected node.
v1.0 - 2008-11-27
- First public version.
- For MediaMonkey 3.0 or higher - just double-click on the ExportM3UsForSubNodes.mmip file; if you are on Vista or Win7 make sure you have MM3 set to "Run as Administrator"; if you downloaded the installation package with IE7 and it changed its extension to a .zip, you should first change it back to a .mmip.
- For MediaMonkey 2.x - rename a .mmip extension to a .zip, extract the ExportM3UsForSubNodes.vbs file to the MediaMonkey's "Scripts\Auto" folder and restart MM program.
Select a node whose child nodes you want to export playlists, then choose a command from the File menu or the context menu of the tree panel:
- Export As .m3u Playlist... if you want to export .m3u file with all tracks of the selected node displayed in the tracklist, after that you should specify a destination .m3u file on the disk;
- Export As .m3u Playlist to Selected Folder if you want to export .m3u file with all tracks of the selected node displayed in the tracklist to the same folder with audio files (only enabled for nodes within Location and My Computer branches);
- Export M3Us for Child Nodes... if you want to export .m3u files for some or all sub-nodes of the selected node (depending of the Options settings), after that you should specify a parent destination folder on the disk;
- Export M3Us for Child Nodes to Same Folders if you want to export .m3u files for some or all sub-nodes of the selected node (depending of the Options settings) to the same folders with audio files (only enabled for nodes within Location and My Computer branches);
- Export M3Us & Copy Files for Child Nodes... if you want to export .m3u files and to copy audio files for some or all sub-nodes of the selected node (depending of the Options settings), after that you should specify a parent destination folder on the disk;
- Create Playlists for Child Nodes if you want to create playlists that would be stored in the Playlists branch; after that you should specify a parent playlist node.
If you want to export just selected tracks, choose Export As .m3u Playlist... from the context menu of the main tracklist or Now Playing panel.
Add-on settings are in the Tools / Options dialog box within the Export M3Us/Playlists sheet. In the first group of controls on that sheet we have 3 choices to specify where and how we want to store playlists: to parent folders, to child folders and to the single folder. Let say for example that I have the following tree branch:
- Code: Select all
+ Pink Floyd
+ Dark Side of the Moon
+ Wish You Were Here
If I choose Export to parent folders, when I select the "Rock" node and choose to Export .m3u files I would get "Pink FLoyd.m3u" file in the specified destination folder and "Dark Side of the Moon.m3u" and "Wish You Were Here.m3u" files in the "Pink Floyd" sub-folder of that specified folder (you could specify that folder after you choose one of the previously mentioned options for the export, e.g. Export M3Us for Child Nodes... from the File menu). If I choose Export to child folders, I would get "Pink FLoyd.m3u" file in the "Pink Floyd" sub-folder of the specified folder, "Dark Side of the Moon.m3u" in the "Dark Side of the Moon" sub-folder of the "Pink Floyd" folder and ""Wish You Were Here.m3u" in the "Wish You Were Here" folder of the "Pink Floyd" folder. Finally, If I choose the third option to Export to single folder, I would get all files in the specified folder, i.e. I would get "Pink FLoyd.m3u", "Pink FLoyd - Dark Side of the Moon.m3u" and "Pink Floyd - Wish You Were Here.m3u" files in the same folder. With the Node separator option we could specify which string of characters we want to use as separator between nested levels of nodes; by default it is " - " (without double quotes, of course), as it is in the previous example.
These examples are such that if I have the Export selected node too option turned off. However, if I turn that option on, I would get the one additional, "Rock" sub-folder in the specified folder and inside of it there would be created folders mentioned in the previous two examples. If I choose export .m3u files to the single folder with the Export selected node too option turned on, I would get "Rock - Pink FLoyd.m3u", "Rock - Pink FLoyd - Dark Side of the Moon.m3u" and "Rock - Pink Floyd - Wish You Were Here.m3u" files in the specified folder.
With the second group of options we could choose which levels of nodes we want to export. Again, with the same example of the tree branch: if I choose First level of nodes only, I would get only "Pink FLoyd.m3u" file in the specified folder; if I choose Last level of nodes only, I would get only "Dark Side of the Moon.m3u" and "Wish You Were Here.m3u" files in the sub-folders of the specified folder depending to the option chosen from the first group. Finally, if I choose All sub-levels of nodes, I would get all files ("Pink FLoyd.m3u", "Dark Side of the Moon.m3u" and "Wish You Were Here.m3u") as it is mentioned in the examples for the first group of options (Export to xx folder(s)).
With the third group of options we could specify the format of the exported .m3u files, which could be in ANSI, UTF-8 and Unicode (UTF-16). You should choose UTF-8 or Unicode if you have non-ANSI characters in your paths of audio files, e.g. Cyrillic, but you should first check if such files are supported with your media player. If you choose UTF-8 format you could specify if .m3u files should have BOM characters. A byte-order mark (BOM) is the invisible Unicode character placed at the begin of the file, it is used as a marker to indicate that text is encoded in UTF-8; you should uncheck this option if you have a player that cannot read files with a BOM. By the way, if you modify some .m3u file in UTF-8 format using Notepad, it will save the file with added BOM always.
With the Extended .m3u format option we could further specify the format of the exported .m3u files. If that option is turned off, you would get so-called simple .m3u format, i.e. .m3u will have only list of paths to the audio files, e.g.:
c:\My Music\Rock\Pink Floyd\Dark Side of the Moon\01 - Speak to Me; Breathe in the Air.mp3
c:\My Music\Rock\Pink Floyd\Dark Side of the Moon\02 - On the Run.mp3
However, if that option is turned on, you would get extended .m3u format, with additional information about each included audio file:
#EXTINF:240,Pink Floyd - Speak to Me; Breathe in the Air
c:\My Music\Rock\Pink Floyd\Dark Side of the Moon\01 - Speak to Me; Breathe in the Air.mp3
#EXTINF:213,Pink Floyd - On the Run
c:\My Music\Rock\Pink Floyd\Dark Side of the Moon\02 - On the Run.mp3
These additional lines helps faster display of added/opened playlists in many players, but some another players don't support such extended .m3u format.
With the Relative paths in .m3u files option we could choose if we want paths in .m3u files in relative or absolute format. Absolute paths represents full paths to the audio files as you could see from the previous examples for the Extended .m3u format. Relative paths represents paths of the audio files relative to the path of the .m3u file. For example, if I choose export to parent folders, I would get "Dark Side of the Moon.m3u" file with relative paths as:
Dark Side of the Moon\01 - Speak to Me; Breathe in the Air.mp3
Dark Side of the Moon\02 - On the Run.mp3
Relative paths could help if you have different paths on the source and destination computers/players (e.g. different absolute paths c:\My Music\Rock\Pink Floyd\Dark Side of the Moon\02 - On the Run.mp3 on the computer and e:\Music\Rock\Pink Floyd\Dark Side of the Moon\02 - On the Run.mp3 on the player would have the same relative path Dark Side of the Moon\02 - On the Run.mp3), but some players don't support them, so you should check first if you could use that option.
With the URL paths in .m3u files option we could choose another format for paths in .m3u files. If I turn that option on, with the previous example I would get:
There is a very small number of players that require .m3u files with such paths, so most probably you wouldn't need that option.
With the Unix .m3u file format option we could also specify the format for paths in .m3u files. If your media player has some Unix variation as Linux for its OS, you should turn that option on. In that case paths of audio files would have "/" separator between folders instead of "\" and new lines would be represented with LF character instead of CR+LF as it is in Windows.
With the Replace paths in .m3u files option and the following two text boxes we could replace parts of paths with another string, in almost same way as we could do in e.g. Notepad using its Replace option (well, maybe as with EditPad or similar advanced text editor which also supports Regular expressions). Within the first text box you could specify string which you want to replace and with the second, with: text box you could specify string for replacement. If you have Use Regular expressions for specifying paths/folders option turned off, you could specify for example "c:\Documents and Settings\" with: "e:\My Mysic\" (without double quotes, as usual) and you would get .m3u files with all paths replaced as it is specified.
With the Use Regular expressions for specifying paths/folders option we could specify very complex patterns for replacement. However, you should turn off that option because most probably you don't know Regular expressions - If you know them, you would not read this Usage section, right?
With the Skip export of nodes/folders option we could specify which folder(s) we want to omit during the export. Well, if you don't choose the Use Regular expressions ... option, then you could specify only one folder which should be skipped. By the way, the Use Regular expressions ... option has an effect on both Replace paths in .m3u files and Skip export of nodes/folders options, i.e. you cannot use the Regular expressions for the first option and not to use them for the second option, and vice versa.
With the Exclude option we could specify which files/nodes should be omitted during the export: Unavailable files, Autoplaylists nodes and/or Files with specified extension(s). The several extensions could be specified using the "|" as a separator, e.g. ogg|aac|mp4.
The next group of remaining controls on the Export M3Us sheet is used only for automatic export of MM playlists to .m3u files. We could choose when playlists should be exported: On startup, On shutdown and/or Every xx minute(s). Then we could choose the playlist which should be automatically exported (altogether with its sub-playlists) using the From dropdown list. Only playlists from the first level in Playlists branch could be directly selected from that list, but some nested playlist could be also specified using "\" as a separator between sub-levels. Within the To text box we should specify the folder where we want to get exported .m3u file(s). Its usage is similar to the folder specified after chosen some option from the menu for the manual export. This also means that almost all previously mentioned options are shared for manual and automatic export including "Export to parent/child/single folder(s)", "Relative paths" and so on.
With the Create new child folder with a dated name option we could specify if we want automatically exported .m3u files in separated folders with dates in their names which would be within the folder specified in the To text box. If the For every auto-export option is turned on, dated folders with .m3u files would be created whenever the condition for automatic export is satisfied, e.g. if Every xx minutes is chosen then every specified minutes would be created a new folder. If the Once in a day option is turned on, folders with dates in their names would be created only once in a day.
If you have turned on the "Show 'All' node for contents of folders" option located at the Appearance tab in the Options dialog box, when you export .m3u files for folders from the Location and My Computer nodes they would contain paths to the audio files from child "All" nodes, i.e. .m3u files would contain paths to files in corresponding nodes and all their sub-nodes (including grandchild nodes). You need to turn off the mentioned option if you want to export .m3u files with paths to the actual audio files contained only in corresponding folders.
Refreshing of the tracklist panel works very strange in MediaMonkey 2.x and because of that the user needs to click on the confirmation dialog after every generated playlist, i.e. for every sub-node. This confirmation dialog is not needed with MM 3.x, but speed and reliability are much better if you have installed MM 22.214.171.1248 or up. Nodes within the Playlist branch don't have such limitation, only regular nodes.
You could directly select a playlist for automatic export in the From: combo box in the Options box only for playlists on the first level, i.e. a playlist which is a child of the Playlists node. If you want to auto-export some nested playlist, you could do that if you manually enter a full path to that playlist using "\" as a separator between nested levels, e.g. Genres\Rock\Pink Floyd. This also means that you cannot use the "\" character in the playlist names specified in that combo box. However, this limitation has only the playlists specified in the From: path for the automatic export - other exported playlists has not that limitation, even the child playlists of that playlist could have "\" in their names.