PhatHack Media Manager GraceNote Edition v1.0 User Documentation Table of Contents Technologies and Licensing Page 4 PhatHack Media Manager Background Page 5 General Introduction Page 6 Supported Operating Systems System Requirements Feature List Basic Concepts Page 6 Page 6 Page 6 Page 7 Watch Folders Managing Media Dynamic Playlists Page 7 Page 7 Page 8 Help and Support Page 8 Application Startup Page 9 User Interface Quick Reference Page 10 The Application Toolbar The Media Filtering Toolbar The Media Sources List Device Context Menus Media Category Context Menus Media Item Context Menus Options and Configuration Accessing the Options Screen Available Options and their Meanings General Options Encoder Settings Media Player Settings PhatSort Settings Kenwood Keg / PhatBox Configuration Settings Configuration Settings Storage Modifying the Library Path Adding Media Importing Local Media Importing Playlists PhatHack Media Manager – User Documentation Page 11 Page 11 Page 12 Page 12 Page 14 Page 14 Page 15 Page 15 Page 16 Page 16 Page 17 Page 18 Page 18 Page 19 Page 19 Page 19 Page 20 Page 19 Page 21 2 Table of Contents (continued) Managing Playlists Page 23 Creating Playlists Creating a New Playlist from Scratch Generating a single playlist from Selected Media Auto Generating Playlists from Selected Media Editing Playlists Using the Playlist Editor Adding Media to the Playlist Removing Media from the Playlist CDDB Lookups and Tag Editing Cover Art Lookup GraceNote® Disc Submission Committing the changes Deleting Playlists Modifying the Playlist Order Transferring Media Page 23 Page 23 Page 23 Page 24 Page 25 Page 25 Page 26 Page 26 Page 26 Page 27 Page 27 Page 27 Page 28 Page 28 Page 29 CD Ripping Transferring Media Performing a media transfer How configuration options affect media transfer Multi-stage devices (Save & Eject) Editing Media Using the Tag Editor Page 29 Page 31 Page 31 Page 32 Page 32 Page 33 Page 34 Removing Media Page 35 Additional References Page 36 Thanks Page 36 PhatHack Media Manager – User Documentation 3 Technologies & Licensing PhatHack Media Manager makes use of, or contains references to, the following technologies, manufacturers, groups or individuals: BASS, Copyright (c) 1999-Present Un4seen Developments Ltd. BASS.NET API: Copyright © 2005-Present by radio42, Hamburg, Germany Author: Bernd Niedergesaess (bn@radio42.com). All rights reserved. BASS.NET is the property of radio42 and is protected by copyright laws and international copyright treaties. Music and video recognition technology and related data are provided by Gracenote ®. Gracenote is the industry standard in music recognition technology and related content delivery. For more information, please visit www.gracenote.com. CD, DVD, Blu-ray Disc, and music and video-related data from Gracenote, Inc., copyright © 2000 to present Gracenote. Gracenote Software, copyright © 2000 to present Gracenote. One or more patents owned by Gracenote apply to this product and service. See the Gracenote website for a nonexhaustive list of applicable Gracenote patents. Gracenote, CDDB, MusicID, MediaVOCS, the Gracenote logo and logotype, and the "Powered by Gracenote" logo are either registered trademarks or trademarks of Gracenote in the United States and/or other countries. Copyright ©, PhatNoise, Inc. – All Rights Reserved. All trademarks, service marks and trade names, including without limitation, PHATNOISE, PHATNOISE CAR AUDIO SYSTEM, PHATNOISE MUSIC MANAGER, PHATNOISE MEDIA MANAGER, PHATBOX, SSA/VOICE, DPGT and DMS are proprietary to PhatNoise, Inc. Copyright ©, Kenwood USA, Corp and PhatNoise, Inc. – All Rights Reserved. All trademarks, service marks and trade names, including without limitation, KENWOOD, EXCELON, MUSIC KEG, are proprietary to Kenwood Corporation. This application is licensed under the FREEWARE license agreement, and therefore is available at no cost. PhatHack Media Manager – User Documentation 4 PhatHack Media Manager Background First conceived in January 2007 and formerly named vDMS manager, PhatHack Media Manager began life as an alternative application for Microsoft® Windows with the explicit aim of managing the media on a PhatNoise® PhatBox or Kenwood® Music Keg. Whilst such functionality already exists within products such as PhatNoise Media Manager ©, the author personally felt the user experience was affected by a number of defects that were not being addressed. In July 2007 PhatNoise Inc., then a subsidiary company of Harman Kardon, disappeared from public view and without any formal notifications, the PhatBox ® was discontinued. Several Alpha releases of the application were made to the public through the author’s own website (http://phathackmm.com) whilst being worked on during his spare time. Over this period the author grew more and more frustrated with the likes of Microsoft ® Windows Media Player and NullSoft® WinAMP and decided to make the application more generic, allowing it to be targeted to multiple user-bases, specifically: PhatNoise ® PhatBox and Kenwood ® Music Keg owners CarPC Owners MP3 Player Users The application architecture was modified several times over a 3 year period before the final feature set was decided, and realised for the first official release in July 2010, after lengthy input from various Alpha version users. PhatHack Media Manager – User Documentation 5 General Introduction PhatHack Media Manager is an application designed to allow you to import, organise, tag and transfer media amongst supported devices. Supported Operating Systems PhatHack Media Manager has been confirmed to work on the following operating systems: Windows XP (all) Windows Vista (x86, x64 all versions) Windows 7 (x86, x64 all versions) We have not yet tried other operating systems, but if you want to try it out and let us know the results please feel free! System Requirements The target machine must have the following installed: DirectX 9 or above Microsoft .NET Framework 2.0 (Service Pack 1 and advantage, but not necessary) Windows Installer 3.0 Feature List: Manage your media library in a playlist fashion Multiple file formats supported including: AAC, FLAC, MP3, MP4, OGG, WAV, WMA Transcoding on-the-fly (during transfer) Album voice announcement support Voice announcement dictionary (perfect control over TTS voice announcements) Mostly skinnable User Interface HTTP Audio stream support (ICECast/Shoutcast/Windows Media Server) WinAMP visualization support, including full screen option CD Ripping direct to device (ASPI) PhatRIP - multi-pass CD extraction GraceNote CDDB Lookup Support Playlist and tag editor Multiple Import Methods (iTunes ®, Playlists, Media Center, Directory scans) PhatNoise DMS support PhatSort Integration (for DMS only) Dynamic playlist support (useful for DMS SSA/VIOT modes only) Bulk normalization 7-level Media View modes: Playlist, Album, Artist, Genre, Year, Decade, Recently Added (Import Dates) PhatHack Media Manager – User Documentation 6 Basic Concepts Before starting to use PhatHack Media Manager it is important to understand some of the terminology used in the application, and the concepts that were used to derive the application functionality. Essentially PhatHack Media Manager is a device management utility allowing you to easily store and transfer media between devices. Throughout the application you may see reference to 'Media Device'. Within the context of the application, 'Media Device' applies to any logical or physical device that can be used to store media (audio/video). Examples of these devices are, and not limited to: Local Computer Folders (Logical) CD or DVD drives (Physical) MP3 Players(Physical) 'Card readers' (Physical i.e. SD, XD, Flash) DMS Cartridges (Physical - PhatBox / Kenwood Keg) Unlike traditional media management utilities, PhatHack Media Manager does not require you to scan all disks containing media. It allows you to import and manage media at your own pace and store it in whatever way you like. To this end, the application has a concept known as 'Watch Folders'. Watch Folders Watch folders allow you to create a virtual media device linked to a physical path on your computer (or indeed Network Share). A virtual media device in this context is a device that has its own configuration options and can be used to import media, and transfer media to and from another 'media device'. Managing Media At present only audio based media is supported through the application. Each Media Device is assigned its own database into which media can be ‘imported’. Importing is the mechanism of adding media to the library, either by scanning media from specified locations or transferring it from another Media Device. Once available to a Media device, media can be viewed in 7 different ways, by switching the 'Viewing Mode'. The viewing modes currently available are: Playlist Album Artist Genre Year Decade Recently Added (date) PhatHack Media Manager – User Documentation 7 Dynamic Playlists In this version of the application, a dynamic playlist is a playlist that is automatically generated, and maintained by the application through the importing of media. Rather than forcing users to create and manage their media through playlists, when initially importing the media, the application will find empty slots in a dynamic playlist and fill them. If the dynamic playlist is full, controlled by the application configuration, then a new Playlist is created. As Dynamic Playlists are solely generated from the process of importing media, you are still able to create, edit and maintain your own playlists separately. NOTE: This type of dynamic playlist differs vastly from functionality offered in PhatNoise © Media Manager Help and Support PhatHack Media Manager is a community driven, non-commercial project, currently maintained by a single developer. Therefore phone-based, real-time support is not currently available (or planned). We appreciate that at times there may be questions or problems that you might need help with and are glad to offer support in one of the following ways: 1. The PhatHack Media Manager Community Forums Visit http://www.phathackmm.com, become a registered member, and post in the relevant section of the forums. 2. The PhatHack Community Forums Visit http://forum.phathack.com, become a registered member, and post in the relevant section of the forums. 3. E-mail: send any questions or problem reports to: support@phathackmm.com 4. IRC: We offer ‘real-time’ support for anyone using IRC, or via the web. To connect to our support channel via the web, click on the following URL (or enter it into your browser): http://webchat.freenode.net/?channels=phathack-mediamanager&uio=Mj10cnVlJjQ9dHJ1ZQfa If you run an IRC client, please connect to irc.freenode.net and join the channel #phathackmediamanager. NOTE: IRC real-time support is only available between the hours of 7am and 4pm GMT, Monday to Friday PhatHack Media Manager – User Documentation 8 Application Startup To start PhatHack Media Manager click on: Start All Programs PhatHack PhatHack Media Manager It can be launched by clicking on the 'PhatHack Media Manager' shortcut: Whenever you start PhatHack Media Manager it runs through a simple startup process, containing several stages, and displays the current progress on the splash screen whilst doing so as illustrated: The PhatHack Media Manager Splash Screen Startup Stages The application runs through the following stages, at startup: Determines the state of the screensaver of your machine (for full screen visualization playback purposes) Processes and executes any command lines (see command lines section for more information) Starts remote control support (as in Media Center type remotes - not implemented as yet) Loads the audio libraries Determines the supported audio extension types Validates the application paths (configuration, library etc) Sets the startup volume Plays the PhatHack startup sound (if not disabled by the options) Initializes the TTS (Text To Speech) engine Configures the internal transcoder options Loads the available application skins Activates the current skin Loads the track popup overlay skin Scans and initializes the Media Devices/Folders/Libraries PhatHack Media Manager – User Documentation 9 User Interface Quick Reference The main user interface remains one of few screens within the application that do not support skins. Once the application is loaded, you are presented with main user interface as illustrated below: The main user interface consists of the following key areas: The Application Toolbar: Media Filtering Toolbar: The Media Sources List: The ‘Categories’ List: The ‘Available Media’ List: The Information bar: PhatHack Media Manager – User Documentation 10 The Application Toolbar The application toolbar is the main point of entry for performing various tasks. In order the buttons on the toolbar are: Caption Image Function Exit Allows you to close PhatHack Media Manager Playlist Allows you to perform various playlist based tasks RIP CD/Transfer Files Allows you to transfer media between devices (Image and caption alters according to the selected device) Media Player Launches PhatHack Media Manager’s build in media-player Swap Skin Allows you to swap between user interfaces Tools Allows you to access various built in tools DMS Utilities Allows you to perform various DMS specific functions About Allows you to display information about the application and/or associated technologies The Media Filtering Toolbar The media filtering toolbar allows you to modify the criteria under which the application will display the media that is currently available (having been imported) into the application, for the selected device. Caption Image View Media By Filter PhatHack Media Manager – User Documentation Function Allows you to select the method of displaying the available media Allows you to enter text that the application will use to show you media matching what you have entered, across the various media tags 11 The Media Sources List The media sources list will show you any supported media devices that are currently available on your computer. The following is a list of the supported devices, along with an appropriate image of each Image Description Local Disk: The group device representing media contained on the computer Imported Media: A generic folder device to which media can be imported from several locations, but only supports the automatic update from the Media Library folder within the PhatHack Media Manager/Media Library folder of your Windows Profile Watch Folder: A device representing a single folder on a local disk, that can be automatically updated when new media is present iTunes Media: A device for synchronizing with media available from the iTunes application CD/DVD Device: A device representing a CD or DVD drive attached to the computer DMS Device: A PhatNoise DMS cartridge attached to the local computer via the USB cradle or an external enclosure Portable Device: an MP3 player or other portable device supporting Windows Generic Volumes Online Radio: The group device representing a collection of online radio streams Online Radio Device: A device representing an online audio stream Device Context Menus Selected devices have a ‘Context Menu’ available to them. From within the Media Sources list, for devices that support it, you can right-click and a pop-up menu will be displayed. The following context menus are available: Imported Media / Watch Folder/Removable Device Image Functions Add Watch Folder: Allows you to add a new device linked to a folder on the computer, which can also automatically scan for new media periodically Import Playlists: Allows you to import playlists to the selected device from Windows Media Player (.pls), or from WinAmp (.m3u) Import Local Media: Allows you to import media to the selected device, by prompting for the location and type of scan to perform Scan for New Files: Deep scans the folder/device root path, for media files that do not exist in the device’s database and automatically adds them. Refresh Library Data from Tags: Iterates all media in the selected device database, and updates entries with tags as stored in the original files. Explorer: Opens a new explorer window at the root folder of the selected device. Eject: Safely ejects a removable storage device Reset Device Database: Disconnects, and deletes the database associated with a device so that you can start again from scratch. Remove <Watch folder name>: Allows you to remove the selected folder device, and destroys the associated device database. PhatHack Media Manager – User Documentation 12 PhatNoise DMS Device Image Functions DMS Utilities: Allows you to run various utilities to make better use of your DMS (see separate section) Import DMS Media: Allows you to import media to the selected device, by prompting for the location and type of scan to perform Scan for New Files: Deep scans the folder/device root path, for media files that do not exist in the device’s database and automatically adds them. Refresh Library Data from Tags: Iterates all media in the selected device database, and updates entries with tags as stored in the original files. Explorer: Opens a new explorer window at the root folder of the selected device. Save: Updates the PhatNoise PhatBox or Kenwood Keg database files to reflect any changes made Eject: Safely ejects the DMS Save and Eject: Performs Save & Eject (as listed above) Reset Device Database: Disconnects, and deletes the database associated with a device so that you can start again from scratch. Radio Station / HTTP Stream Image Functions Add Radio Station/HTTP Stream: Allows you to add a new URL stream as a new device Remove <URL Stream name>: Allows you to remove the selected URL stream PhatHack Media Manager – User Documentation 13 Media Categories Context Menu When viewing media in any given view, when items are displayed you can right-click on any item to display the following context menu, which displays the same functions available from the ‘Playlists’ button on the main toolbar. Image Functions New Playlist: Allows you to create a new playlist entry specifying appropriate properties and/or media Edit Playlist / Edit Album (view dependent): Allows you to edit the specified Playlist or Album and/or media Edit Selected As Playlist: Allows you to create a new playlist using all CHECKED items as the media within that playlist Create As Playlists: Iterates all checked items, using the source media category at the time of the item being checked as the playlist name, to create individual playlists Delete Playlist: Deletes the selected playlist Select All Playlists: Checks all items in the current view Select Individual Playlists: Allows you to check individual playlists from a popup selection screen, reducing the UI refresh time associated with checking items individually on the main UI. Deselect All Playlists: Clears all selections across all views. Modify Playlist Order: Allows you to re-order playlists according to your own preference Import Playlists: Allows you to import playlists to the selected device from Windows Media Player (.pls), or from WinAmp (.m3u) Media Item Context Menu When viewing individual media items in the ‘Available Media’ list, right-clicking on a single item will give you the following context menu: Image Functions Edit Tags: Allows you to modify the database tags associated with the media item (and also update the file tags) Explorer: Opens a new explorer window, per unique folder location of the selected media item(s) PhatHack Media Manager – User Documentation 14 Options and Configuration Accessing the Options screen The options and configuration settings can be modified through the user interface via the main toolbar, by clicking on 'Tools', and selecting the 'Options' item as illustrated below: The PhatHack Media Manager Options Screen The options screen (illustrated above) will be displayed, consisting of the following tabs: General Options - options dictating application behavior Encoder Settings - options related to folders/devices attached to the application Media Player - options that control the behavior of the applications built-in media player PhatSort - Kenwood Keg/PhatBox DMS-related functionality configuration PhatHack Media Manager – User Documentation 15 You must save first! Whenever editing the options screen, it is important that you close the screen using the 'Save' button. This button forces the application to apply, and store the changes made to the application configuration. Using the 'X' icon or clicking on 'Cancel' will cause the application to revert to the configuration the application was using BEFORE the options screen was displayed. Available Options and their meanings There are a considerable number of options available to modify how the application behaves or treats attached folders/devices. Here is a list of the options, the tab on which they can be found, and what they mean: General Options Setting Name UI Type Disable Startup Sequence Checkbox Enable Playlist Sorting on Main Screen Checkbox Use Dynamic Playlists Checkbox Maximum tracks per playlist Numeric Text Box Enable Debug Logging Checkbox File Copy Buffer Size (bytes) Numeric Text Box Enable Track Hashing Checkbox Auto-rip CD on insertion to* Checkbox Auto-rip Destination Device* Drop down Use CD-Text if available (overrides CDDB Lookup) Checkbox Enable CDDB Lookups [Media Internet Lookup] Checkbox CDDB Provider Lookup Order** Drop down CD RIP Buffer Size (bytes) Numeric Text Box Enable PhatRIP (multi-pass CD Ripping) Checkbox Number of PhatRIP Cycles Numeric Text Box Description Disables the playback of the PhatHack startup sound and does not pre-instantiate the TTS voice engine When viewing media by 'Playlist', allows the order of the playlists to be modified on the list of playlists using drag and drop techniques Playlists created during media import, are handled by the application importing up to the maximum number of tracks before creating a new playlist Specifies the number of tracks to be imported in a Dynamic Playlist before creating a new playlist Enables trace logging to allow issues to be reported to developers with supporting 'evidence' The size (in bytes) of the buffer to be used when copying files between folders/devices. When importing media, a hash is taken of the first 1MB of the track to ensure the uniqueness of a track where one or more tracks contain the same ID3 tags Enables the auto-ripping of a CD when inserted into a CD/DVD tray The folder or device the CD contents should be automatically transferred to When ripping CD/DVD content, will use the Tags embedded within the CD content instead of performing a CDDB lookup Allows the application to lookup media tags on the internet Determines the order in which CDDB providers should be queried to find media tags associated with CD/DVD content Specifies the size of the buffer to be used when extracting CD/DVD content Enables CD/DVD content to be extracted several times to achieve the most accurate extraction The number of times the CD/DVD content will be extracted, before being compared to get the most accurate results. (Note: Uses the CD RIP Buffer Size - so memory usage will be very high!) PhatHack Media Manager – User Documentation Recommended Value Unchecked Checked Unchecked User preference Unchecked 3145728 (3 MB) Unchecked Unchecked N/A Checked Checked GraceNote 131072 Unchecked 3 16 Encoder Settings Setting Name Setting Type Media Device / Folder Drop down Encoding Format Drop down Encoding Bitrate Drop down Clear device before media transfer Check box Do NOT transcode to this device Check box Mirror Source File Directories Check box Create M3U playlists Check box Copy CD Rip to Library Check Box Normalize on Transcode Check Box Generate Voice Prompts Check Box Generation Mode Drop down Write Voice Prompts as first item in Playlist Check Box Path Text box Voice Drop down Format Drop down Speed Slider Description The folder / device to which all other settings on this tab belong The audio format to be used when ripping, or transcoding files to the selected device The maximum bitrate to be achieved during encoding/transcoding Removes all existing media from the folder/device before transferring new media to it Will never transcode files to this device, always forcing a copy of the original media When transferring media will ensure the path to the media mirrors the original source file. For example, transferring from a Device A (Drive labelled C:) to Device B (Drive Labelled E:): C:\Media\MyFile.mp3 becomes E:\Media\MyFiles.mp3 Will create M3u playlists mirroring playlist transferred, showing only the files selected at the time. When ripping CD/DVD content will perform the rip to the selected device AND the 'Imported Media' folder When transcoding files, performs the normalize function to raise / decrease gain levels so all tracks are the same Generate TTS files for playlist/album/artist/genre/track where the device supports it Determines whether voice prompts should always be generated every time a transfer is performed, or for only missing items Inserts a generated TTS for a playlist, as the first item in the playlist The relative path to be used to store the TTS files The TTS voice that should be used to generate TTS files The TTS format options to use when generating TTS files The speed (pitch) at which the voice 'sounds' when generating a file PhatHack Media Manager – User Documentation Recommended Value N/A Mpeg Layer 3 (MP3) 320 kbps Unchecked Checked (except for portable media devices with low storage capacity) Unchecked Unchecked Unchecked Unchecked Unchecked Missing Only Unchecked N/A N/A 44khz, 16 bit Mono N/A 17 Media Player Settings Setting Name Setting Type Use voice prompts when switching playlists Check box Announcement Voice Drop down Announcement Format Drop down Voice Speed Slider Default Visualization Plugin Drop down Restart last device playback on startup Check box Show track changes popups Check box Description When checked, the media player will announce which is the current playlist when altered or played for the first time The TTS Voice to use when announcing playlist changes The TTS format options to use when generating TTS files The speed (pitch) at which the voice 'sounds' when announcing the playlist The visualization to run during audio playback, where the skin allows Stores the current device, playlist, track, and running time whilst the media is playing and when the application is restarted resumes playback from the last point During playback will display track information in an animated popup at the beginning of a track and 10 seconds before the end of a track Recommended Value Checked N/A 44khz, 16 bit Mono N/A Advanced Visualization Studio (v2.81d) Unchecked Checked PhatSort Settings PhatSort is specific to Kenwood Keg/PhatBox DMS cartridges. The PhatSort process allows the re-mapping of Album/Artist/Genre modes of the box to a specified database tag, allowing you to re-define the way in which your PhatBox operates. This concept was taken from the original PhatSort idea developed by Simon Torri (FireFox) and subsequently extended. Setting Name Setting Type Enable PhatSort Check box SSA Album/Artist/Genre Mode - Links to SSA Album/Artist/Genre Mode - Sort By Drop down Drop down Description Enables PhatSort during the DMS writing stage, otherwise uses default Playlist/Album/Artist/Genre settings Defines which tag to use for the SSA Album Mode Defines which sort to apply PhatHack Media Manager – User Documentation 18 Kenwood Keg / PhatBox Configuration Settings By default, PhatHack Media Manager contains default configuration settings that will enable you to get the best out of your device. Options that must not be changed will appear disabled. Depending on the size of the disk encased within the DMS cartridge, you may optionally choose to increase the Bitrate of the stored media and/or use FLAC encoding to get the best sound, and performance quality from the device. Configuration Settings Storage All configuration settings for PhatHack Media Manager are stored on a per user basis within INI files. The settings are stored in three different files, 'Options.INI', 'Encoder Settings.INI' and 'Player.INI' all of which can be found within the relevant Windows User Profile under the 'My Documents\PhatHack Media Manager' directory. You can modify the options directly within these files, by simply locating the relevant setting and altering the value after the '=' symbol. There may also be a number of redundant settings within these files which can be ignored. Refer to the tables above for the valid, current settings. Modifying the Library Path The library path (The Imported Media folder) is defaulted to the user profile directory on the local computer. Its location is governed by the following setting within ‘Options.INI’, and can be changed (as illustrated) to be any valid local or network path: [Synch] SynchPath=\\buran\users\S_Massey\My Documents\PhatHack Media Manager\Library PhatHack Media Manager – User Documentation 19 Adding Media PhatHack Media Manager has TWO main ways of adding media to a folder/device. 1) Importing Media 2) Transferring Media Importing Media is the method of importing links to the media database, either through the 'Import Local Media' dialog, the 'Import iTunes' functions or the 'Import Playlist' dialog. Transferring Media is the method of taking media files from one folder/device and copying them to another folder/device through the application, and is achieved using the 'Transfer Files' dropdown on the main screen, or through the 'RIP CD' option. Importing Media As mentioned above, importing media can be performed in one of 3 ways Using the 'Import Local Media' function Using the 'Import iTunes Media' function Using the 'Import Playlists' function Each of these functions is applicable to the currently selected media source. Importing Local Media Accessing the 'Import Local Media' function from a media source can be achieve by selecting a media source in the media source tree on the left side of the main UI and then either: Right-clicking on media source and selecting the item 'Import Local Media' from the popup menu Clicking on the 'Tools' drop down on the toolbar, and selecting 'Import', 'Local Media to Library' or This will result in the 'Import Media' dialog being displayed (below), where you can specify how, and from where, the media import should be performed. The 'Media Import' dialog PhatHack Media Manager – User Documentation 20 The 'Media Import' dialog requires 3 bits of information to be able to successfully start an import: The Source Location: The directory at which it should start scanning for files. Clicking on the '...' button next to the source location will allow you to select an appropriate file/directory to start the import from Media Scan Type: What type of import should be performed, of which there are several options: Single Media File - Allows the source location to be a single file, for the purpose of importing only that file Single Album: Deep Scan - Scans all directories, and including the specified source location for media files to be added to a single playlist Single Album: Selected Folder - Scans ONLY the specified source location for media files to be added to a single playlist Albums By ID3 Tags: Deep Scan - Scans all directories below, and including the specified source location using the ID3 tags for the source of album/playlist name Media Center Style: Deep Scan - Scans all directories below, and including the specified source location using folder names as the source of album/playlist name Generate Playlists By (ID3 Tag scan only): The tag the application should take the value from to be used as the name of a playlist used to add media items to Generate Playlists By (Media Center Style only): The method of determine the playlist name - either the topmost folder, or the bottom-most. Once the import options have been specified, then clicking on 'Import' will start importing the media where you will see the progress through the skinned progress dialog, as illustrated below: The skinned progress dialog, showing a media import in progress PhatHack Media Manager – User Documentation 21 Importing Playlists If you have used WinAMP or Windows Media Player to generate playlists, and want to import them... then you can do so using the 'Import Playlists' function (as illustrated below) Accessing the Import Playlist function by right clicking on the 'Media Categories' list whilst in 'Playlist View' The 'Import Playlists' function can be accessed by either: Right clicking on a media source in the media source tree Right clicking on 'Media Categories' list when in 'Playlist' view or This will then result in the ‘Import Playlist’ dialog being displayed. The Import Playlist Dialog All that this dialog needs to know is the directory at which it should start scanning for playlists. It will then go ahead and import playlists using a deep scan method (working through all sub-directories) and import any media required at the same time. PhatHack Media Manager – User Documentation 22 Managing Playlists Playlists within PhatHack Media Manager are used to represent a group of media items. Typically, a playlist would be used to play items from the first item in the list, to the last item in the list in the order in which they appear. Creating Playlists There are three methods of generating playlists from within PhatHack Media Manager, either by creating a new playlist and adding individual media items to it, or by selecting multiple media items from any of the media views and generating a new playlist from them (Edit as Playlist) or by selecting multiple media items from any of the media views and then allowing the application to generate appropriate playlists (Create As Playlists). Creating a new Playlist from scratch To create a playlist: Select the device on which you want to create the playlist Click on the 'Playlist' button on the toolbar Click on 'New Playlist' This will display the Playlist Editor, where tracks can be individually added and the playlist given a name. See the section 'Using the Playlist Editor' for more information on playlist details. Note: The options 'Playlist' and 'New Playlist' is also available in a context menu by right-clicking on the 'Media Categories List' Generating a single Playlist from Selected Media To generate a playlist from multiple media items: Switch the media view to locate your media by clicking on the 'View Media By' drop down and selecting the appropriate view Perform any searches required (see 'Searching For Media' for more details) Check, or select the appropriate media category to display matching media items Check any individual items you want to add to the new playlist Repeat the above until all items required are checked Click on the 'Playlist' button on the toolbar Click on 'Edit As Playlist' Note: The options 'Playlist' and 'Edit as Playlist' are also available from a context menu by right-clicking on the 'Media Categories List' PhatHack Media Manager – User Documentation 23 Auto Generating Playlists from Selected Media To have the application automatically generate a playlist from multiple media items: Switch the media view to locate your media by clicking on the 'View Media By' drop down and selecting the appropriate view Perform any searches required (see 'Searching For Media' for more details) Check, or select the appropriate media category to display matching media items Check any individual items you want to add to the new playlist Repeat the above until all items required are checked Click on the 'Playlist' button on the toolbar Click on 'Create As Playlist' Note: The options 'Playlist' and 'Create as Playlist' are also available from a context menu by right-clicking on the 'Media Categories List' The application will then iterate through all of the selected media, and generate playlists from that media. The name of the playlist is determined by a media item’s owning ‘Category’ at the time it was checked. For example: You view media by ‘Album’, which results in the display of the album ‘Dark Side of the Moon’, and you check individual items from this album. You then view media by Artist, which results in the display of the artist ‘The Prodicy’ and select individual tracks by the selected artist. You then ask the application to ‘Create as playlists’. The application will create two playlists, one called ‘Dark Side of the Moon’ and one called ‘The Prodigy’. PhatHack Media Manager – User Documentation 24 Editing Playlists To edit a playlist (or Album): Switch to the media view to 'Playlist' (or Album) Locate and select the item to edit Click on the 'Playlist' button on the toolbar Click on 'Edit Playlist' or ‘Edit Album’ Note: The options 'Playlist' and 'Edit Playlist/Edit Album' is also available in a context menu by right-clicking on the 'Media Categories List' Using the Playlist Editor A playlist within PhatHack Media Manager has a very simple and basic configuration. A playlist consists of: A 'Playlist Title' - the name by which the playlist is known A 'Phonetic Title' - the phonetic name of the title, supporting all SAPI 5 TTS features including XML 'Playlist Media' - a collection of media items, available from all media items in the PhatHack Media Manager database for the folder / device The playlist editor is one of the many skinnable forms available from within PhatHack Media Manager. If you are running an alternative skin, the features and functionality may vary from the following documentation, based on the 'default' skin. The default skin Playlist Editor If you have entered the Playlist Editor by using the 'Edit As Playlist' function, any media that was selected at the time will have automatically been added to the 'Playlist Media' for you. The screenshot above shows the playlist editor having been accessed from ‘Edit Album’, available by rightclicking an album displayed whilst in Album view. PhatHack Media Manager – User Documentation 25 Adding Media to the Playlist To add media to your playlist, click on the 'Add Media' button on the Playlist Editor. This will display the 'Available Media' window, which is again a skinnable interface and may vary from the default skin. This window allows you to view your media in a similar way to the main window, allowing you to view media by Playlist/Album/Artist/Genre/Year. To find the media you wish to add: Select the appropriate view by dropping down 'View Media By' and selecting the appropriate view Locate the appropriate 'Media Category' by dropping down 'Playlist' and choosing the appropriate item Select the media by using one of the following methods: - Clicking on an individual item - Holding down 'Shift' and clicking on the first item to add, and then clicking on the last item to add - Holding down 'Ctrl' and clicking on individuals items to select multiple items Click on the 'Add Selected' button Note: Whilst multiple-selection is supported by using the SHIFT+CLICK or CTRL+CLICK method, it is only available in a single view and not across views/'playlists'. Removing Media from the Playlist To remove media from the playlist, do the following: Select the items to be removed, using one of the following methods: - Clicking on an individual item - Holding down 'Shift' and clicking on the first item to add, and then clicking on the last item to add - Holding down 'Ctrl' and clicking on individuals items to select multiple items Click on the 'Remove' button CDDB Lookups and Tag Editing The Playlist Editor for the default skin supports the ability to edit tags (see the section ‘Using the Tag Editor) and perform CDDB lookups. To edit tags, select one or more tracks in the ‘Associated Media’ list, and then click on the ‘Edit Tags’ button on the toolbar. CDDB Album Lookups are performed using GraceNote and are only available where a playlist is associated with an Album that has previously had its tag information retrieved from GraceNote (was sourced from a CD) or where you are editing the details for an album/playlist having selected a CD/DVD device in the ‘Media Sources’ list. PhatHack Media Manager – User Documentation 26 If the ‘CDDB Lookup’ button is enabled, simply click on it and the application will connect to, and retrieve information from, GraceNote based on the original CD identification associated with the Album. Cover Art Lookup It is also possible to search for associated ‘Cover Art’ using the GraceNote service. Once a Playlist or Album Title is entered, click on ‘CDDB Tools’ and ‘Lookup Cover Art’. If any artwork is matched on the GraceNote web service, it will be displayed in the box to the right hand side of the Playlist/Album details. If no matching artwork is found, you can manually associate any artwork by double-clicking on the Cover Art box, and browsing for the appropriate image on your computer. Disc Submission If you have modified the data associated with an album sourced from a CD that used GraceNote as its source of media information, it is possible to re-submit any alterations using the ‘Submit Disc’ button on the Playlist Editor. Clicking on the ‘Submit Disc’ button will do the following: 1. 2. Collate all of the relevant media tags for the associated media in preparation for submission Display the official GraceNote disc submission form, showing a merge of the ORIGINAL identification data and anything that you have altered. If required, enter any additional information in this form, completing any required fields as the GraceNote user interface requires and then click on ‘OK’. The disc information will then be submitted to GraceNote for review. NOTE: For further information on any parts of the CDDB user interface please visit: http://www.gracenote.com/cddb2info/using.html Committing the changes Once you have added, or removed all the media from your playlist or made any changes that will require a save, you must commit the changes to the database. To do this, click on the 'Save' button. If the ‘Update Tags’ button is enabled then clicking on this button will perform the save to the database, and apply any relevant changes to the original source files associated with the playlist, including writing any cover art to the media file. Failure to click either the ‘Save’ or ‘Update Tags’ button will result in the changes you have made being lost. PhatHack Media Manager – User Documentation 27 Deleting Playlists To delete a playlist: Switch to the media view to 'Playlist' Locate and select the playlist to be deleted Click on the 'Playlist' button on the toolbar Click on 'Edit Playlist' Note: The options 'Playlist' and 'Delete Playlist' is also available in a context menu by right-clicking on the 'Media Categories List' Multiple selections are supported by the 'Delete Playlist' function, so multiple playlists can be deleted at the same time by using CTRL+CLICK, or SHIFT+ CLICK to select multiple items. Deletion of playlists only applies to SELECTIONS not playlists that have been 'checked'. Modifying the Playlist Order PhatHack Media Manager is able to store playlist in a specific order, useful for order-centric devices (such as the Kenwood Keg/PhatBox) or for general purpose playback using the built-in media player. To modify the playlist order for a specific folder/device, do the following: Select the folder/device in the media sources tree Click on the 'Playlist' button on the toolbar Click on 'Modify Playlist Order' Note: The options 'Playlist' and 'Modify Playlist Order' are also available in a context menu by right-clicking on the 'Media Categories List' once the appropriate folder/device has been selected. Once the 'Modify Playlist Order' window has been displayed there are two methods available for putting the playlists in the order you require: Select an individual playlist Click on the 'Up', or 'Down' button to move the playlist around the playlist order Repeat until correctly positioned Click and hold the left mouse button down on the playlist you wish to move Drag the mouse until the mouse pointer is over the item you wish to place the selected playlist at Release the left mouse button or Once the playlist order is as you require, click on 'Save Changes' to commit the new order to the device database. The main screen also supports drag and drop as described above, but requires you enable the option through the configuration settings. See the section 'Options and Configuration' for more details on the appropriate settings. PhatHack Media Manager – User Documentation 28 Transferring Media Transferring Media, as previously discussed, is the process of moving media from one folder/device to another. This can occur in one of two ways: Ripping a CD to a folder/device Transferring files to a folder/device CD Ripping PhatHack Media Manager has two methods of CD Ripping, split into a standard process and a process called PhatRIP. The standard process takes a CD and extracts the contents of each track once. Whilst being the quickest method, on particularly older CD's that may have surface damage, this process may be prone to data corruption. PhatRIP however is a mechanism of reading a track a number of times, and comparing each reading byte-forbyte to find the most accurate data across all of the reads. This can be an extremely lengthy process, even for just a few reading cycles per track, but is obviously more likely to provide a clean and accurate representation of the CD data. The PhatRIP concept is not new, and you can use separate utilities that provide similar functionality - namely AccurateRIP or Exact Audio Copy. The process for standard CD Ripping and performing PhatRIPs are the same, and the process is controlled through application configuration. For more details, see the Options and Configuration section. Specifically the section entitled Options and their meanings. The speed of both ripping functions is largely determined by the available machine memory and also the CD Ripping buffer size (also available under the Options and Configuration section). You should set the buffer size dependant on the function of the application of the machine you are using. For example, a machine running PhatHack Media Manager as a standalone management system should use a different configuration value for the buffer size than a machine used as an in-car PC. A larger buffer may be more preferable for the former, whilst a value of around 512KB would be recommended for a CarPC (due to the asynchronous nature of the application in this environment). Similarly if PhatRIP is being used, you should be exceptionally careful of the size of the buffer allocated as of course the amount of memory used per CD read is 'X times this value based on the number of 'Cycles' configured in the Options and Configuration section. PhatHack Media Manager – User Documentation 29 To perform a CD RIP, or PhatRIP, do the following: Insert a CD into the appropriate drive Select the CD device in the 'Media Sources' tree as illustrated to the right Wait for any CDDB lookup to be performed Click on the 'RIP CD' button to start the process or select from the available devices list Click on the device to transfer to (where the 'RIP CD' button is enabled as a dropdown, denoting more than one device is available to transfer to) Selecting the device to transfer the media to when more than one device is available After selecting the CD in the media sources tree, the application runs through a tag acquiring process using the options configured in the Options screen. If the application has already acquired tags for the CD, then the appropriate information is displayed without any further lookups. If no tag information is found, then the tag acquiring process works as follows: If CD text is enabled, the application will attempt to read any tags stored on the CD and if present will use those to identify your media. If CD text reading is disabled, or not available and CDDB lookups are configured the application will connect to the internet to acquire the tag information from GraceNote (http://www.gracenote.com) If no tag information is loaded, the CD will be identified as '<Unknown CD>' and each track as '<Track x>' (where x is the position of the identified track). At this point it is entirely possible to modify the tags to be used for the track using the 'Edit Playlist' function. See the section Editing Playlists for more details. Once the 'RIP CD' icon has been clicked, or the device to transfer to has been clicked from the dropdown menu where more than once device is available to transfer to, the ripping procedure will begin and a progress dialog displayed to show the current progress. PhatHack Media Manager – User Documentation 30 CD Ripping has been started to the media library Once the CD ripping is complete, and the target device is not a local folder (the target is a portable media device, or DMS cartridge) if the application has been configured to also RIP the CD contents to the media library, a second CD RIP will be performed, exactly the same as the first to the 'Imported Media Library' folder. When performing the CD RIP, any 'Do NOT transcode to this device' configuration settings for the target device will ALWAYS be ignored and instead the 'Encoder Settings' for the target device will always be used to store the media on the target device. In the case above, it is entirely possible for the target device to utilize one set of Encoder Settings (say it were a portable device, where 96kbps MP3 format is defined as the encoder settings) and the 'Imported Media' folder to use a completely different set of encoder settings (perhaps 320kbps WMA). This is why a SECOND CD Rip is ALWAYS performed for the transfer to the media library as a secondary target device as configured in the application options. Transferring Media Transferring media is a similar process to performing a CD Rip and is the processing of transferring media from one folder/device to another. The basic premise of the function is to select the media to transfer from a source device and then specify the target device. Performing a media transfer The exact process to transfer media between devices is as follows: Select the source device by clicking on the appropriate device from the 'Media sources' tree From the 'Media Categories' list, select or check the relevant Playlist/Album/Artist/Genre etc From the 'Available Media' list check the individual items to be transferred to the target device Repeat the above for all items to be transferred to the target device Click on the 'Transfer Files' button to start the process (where only one device is available to transfer to) or to list the available devices and select the target device from the available list It is important to note in the above instructions that there is deemed to be a significant difference between 'Selecting' items in the 'Media Categories' list, and 'Checking' them. 'Checking' an item is the process of activating the box alongside the item so that it appears with a small tick mark inside it. 'Checking' an item in the 'Media Categories' list will automatically check all of the 'Available Media' items associated with that item, marking them as requiring transfer to the target device. (Illustrated to the left) PhatHack Media Manager – User Documentation 31 'Selecting' an item in the 'Media Categories' list is the process of highlighting it and will result in the displaying of the 'Available Media' items associated with the item being selected. When 'Selecting' an item in this manner, you must 'check' the media items to be transferred individually. The process of individually checking items in this manner will also place a check against the relevant item in the 'Media Categories' list. (Illustrated to the right) How configuration options affect media transfer As with CD Ripping, how the media is transferred to the target device is dependent on the configuration options of that device. The configuration of the target device can largely affect the speed of transferring to that device. In many cases the user NEVER wants the 'Transfer Files' process to transcode their media, and yet the default setting for any device (with the exception of a DMS device) for the option 'Do NOT transcode to this device' is unchecked. Ensuring this option is checked, will ensure that PhatHack Media Manager only ever performs a file copy when using the 'Transfer Files' function. With the option unchecked, each and every media file marked for transfer is re-encoded using the target encoder settings. If the target device requires files to be normalized, then the use of the option 'Normalize on Transcode' would be a useful one. However, this option is ONLY available when the 'Do NOT transcode to this device' option is UNCHECKED. This option will also require a longer time period for the transfer of each track, as it requires the transcoding process to modify the data by applying relevant gains, before being passed to the relevant encoder. Where the 'Do NOT transcode to this device' option has been set correctly based on user requirements, the most common problem related to speed issues thereafter is always one of the default value for the 'File Copy Buffer' setting being far too small to be useful. Modifying this to the recommended value of 3MB always gives massive improvements to the performance of the application when transferring media. Multi-stage Devices (Save & Eject) A multi-stage device is a device that requires at least two stages of device manipulation before a media transfer is completed successfully. DMS cartridges are the only device at present considered to be a multi-stage device. In the case of such devices, PhatHack Media Manager splits the 'CD RIP' or 'Transfer Files' into two stages. The media transfer stage and the transfer completion stage. It could be argued that Portable Media devices fall into this category, but as yet the application does not make this distinction, although it may in future builds. Splitting the media transfer processes into two such stages allows the user to transfer lots of files without having to perform the transfer completion stage, cutting out any unnecessary waiting time. The two stages can be broken down into the following discrete tasks that the application performs for each: Media Transfer Encoding, or copying of files from CD or source device Manipulation of destination database PhatHack Media Manager – User Documentation 32 Transfer completion Creation of TTS files Creation of M3U / PBX files (PBX files are DMS specific) Creation of proprietary database files To perform the 'Transfer completion' stage, simply right click on the DESTINATION device and select the option 'Save' or 'Save and Eject'. Use of the 'Save and Eject' will cause the relevant USB device to be detached from your Windows Operating System once the 'transfer completion' stage is complete. Editing Media The default skin for PhatHack Media Manager contains a built in tag editor that can be access in one of two ways: 1. By selecting one or more tracks from within the Playlist/Album Editor track listing or 2. By selecting one or more tracks from within the ‘Available Media’ listing for a given category view on the main UI The following screenshot illustrates accessing the tag editor from the Playlist editor within the default skin: PhatHack Media Manager – User Documentation 33 Using the Tag Editor The default Tag Editor will appear as follows: Asides from the toolbar, this screen is split into two sections, the media detail on the left, and the selected media on the right. When you first enter this screen, all of the available media on the right hand side is selected. The details on the left are changed to reflect only the items which are common amongst all of the selected tracks. When changing any of the details on the left side of the screen, any selected items on the right side of the screen will have their details to reflect the entered data. The toolbar on this screen has 3 very simple functions: 1. Close: Closes the screen without saving changes 2. Save: Saves the changes to the associated media items in the database only 3. Update Tags: Saves the changes to the associated media items in the database, and overwrites the existing media file tags with the entered data PhatHack Media Manager – User Documentation 34 Removing Media There are two methods available for removing media from the application, both only available from the ‘Track Listing’ context menu. To access this menu first select an appropriate media view, and then select an appropriate Playlist / Album / Artist etc. Then select, by highlighting and not checking, individual items that you want to remove, and then right-click on those items. You can then either: 1) Remove from Library This will remove the item from the media library only. It will leave the file on device, so it is possible for the item to re-appear if ‘auto scan’ functionality is enabled. If the item is part of an Album or Playlist, any association to the media item will be removed. 2) Delete from Device Deleting a media item from the device will not only physically remove the media item from the device (delete the appropriate file) – but it will also perform the ‘Remove from Library’ function. PhatHack Media Manager – User Documentation 35 Additional References PhatHack Media Manager makes use of the following 3rd party components, code, or code extracts which the authors would like to gratefully acknowledge. System.Data.SQLite by PHX Software (http://sqlite.phxsoftware.com/) TagLib Sharp by Novell: (http://developer.novell.com/wiki/index.php/TagLib_Sharp) USBEject written by Simon Mourier: (http://www.codeproject.com/KB/system/usbeject.aspx) TaskbarNotifier by John O’Byrne: (http://www.codeproject.com/KB/miscctrl/taskbarnotifier.aspx) BassVis by Emil Weiss Thanks The author of PhatHack Media Manager would like to thank the following: PK for various code contributions to the project, and the relentless testing of it! Simon Torri for the code contribution helping to stabilise some issues with PhatNoise® DMS index files Sam Bingner, Jud Barron and Terry Kennedy for their extensive help and support on all things PhatNoise © PhatBox related Ian @ Un4seen for a fantastic audio library Bernd for the .NET means of getting to it! Emil Weiss for the fantastic Visualizations support, and integration assistance The guys and gals at PhatNoise for a product that was way ahead of its time! The guys and gals at Harman Kardon for ruining it, by buying and then dropping it! </sarcasm> The various PhatNoise communities that have had to put up with 3 years of development before getting it right! (http://forum.phathack.com, http://phatnoise.us and http://phathackmm.com) And a very, very big thank you goes out to all of the PhatHack Media Manager Alpha and Beta Testers, without whom, this product would probably have crashed just as soon as you started it! PhatHack Media Manager – User Documentation 36