Hidden settings
There are some special settings that can not be controlled in the GUI. They are for very special cases, or even for debugging purposes. To change these settings, you have to edit one of two INI files:
To edit one of them, open the file in a text editor (Notepad is ok, no MS-Word!) and save it (as plain ASCII). For a description of INI files in general see the Wikipedia page.
Only edit the ini-files while Winamp is NOT running!
Be careful that you always have only one line with a given keyword. That means, if there is already a line "handlePodcasts=1" and you don't want to have this, you have to edit this line and not add a new one with "handlePodcasts=0".
Entries with type bool must have a value of 0 (which means 'no') or 1 (which is 'yes' or 'true').
iPod ini-file
The iPod ini-file is found on your iPod, under X:\iPod_control\iTunes\ml_ipod.ini (X: being the drive letter of your iPod). For mobile phones it is under "X:\itunes\iTunes_Control\iTunes\ml_ipod.ini"
To edit it, you should close Winamp, then attach your iPod and navigate to that folder in Explorer. This folder is usually hidden in Windows Explorer, you may have to enable "Show hidden files and folders" in Explorer (Folder options->View->Advanced settings)
On an iPhone or iPod touch, editing it is different, because you don't have access to the filesystem of the iPod. In this case, attach your iPod and run Winamp with ml_ipod. After your iPod's content shows up, you can locate a copy of the ml_ipod.ini named ml_ipod_C.ini in your %TEMP% folder. Edit this file, then eject the iPod in Winamp. After the next connect, the settings will take effect.
All important entries are under the header
[ml_ipod]
| Entry | Description | Type | Default |
|---|---|---|---|
| handlePodcasts | Create a Podcasts playlist and fill the Podcasts menu on iPod | bool | 1 |
| autoDeletePlaylists | delete playlists from iPod if not marked for sync (only if name matches) | bool | 1 |
| patchEmptyAlbum | tracks without album name get a fake album "-" to work around a bug in the iPod formware |
bool | 1 |
| writeSortedIndex | Write sorted lookup table for faster menus on iPod | bool | 1 |
| prefixAlbumsWithYear | On iPod, every Albumname gets prefixed with [yyyy] | bool | 0 |
| debugFakeTransfer | For debugging only; create 0 byte mp3 files | bool | 0 |
| readMhsd2 | read the obsolete MHSD type 2 instaed of type 3 from iTunesDB | bool | 0 |
| transcode2 | Hack: transcode MP3s with > 128kbps to 128kbps with lame.exe | bool | 0 |
| ignorePlayCountsMarker | Hack: accept all rating settings from iPod (except 0), even if marker flag is not set correctly by the iPod firmware | bool | 0 |
| transcodeWavFiles | transcode WAV files to a compressed file format | bool | 1 |
| transcodeFlacFiles | transcode FLAC files to a compressed file format | bool | 1 |
| recreateMplAtRead | during connect, force rebuild of the master playlist (this is set automatically to 1 if there are parse errors while reading the DB) | bool | 0 |
| showParseDatabaseDlg | while parsing the database at connect, show a dialog telling "parsing database..." (starting with v2.03) | bool | 1 |
| videosBookmarkable | keep playback position for videos. Value 0=no, 1=for newly transferred videos, 2=for all, even those that are already on the iPod (starting with v2.03p17) | int | 1 |
| titleFormat | Advanced title formatting | int | 0 |
| titleFormatString | Advanced title formatting | String | "" |
| fwid | if ml_iPod doesn't recognize your iPod Classic How To | string | empty |
| compAlbArtist1 | 'album artist' is compared to this string; if they match, the track is considered part of a compilation even without the [C] tag (starting with v3.02p30) | string | "Various" |
| compAlbArtist2 | see compAlbArtist1 | string | "Various artists" |
| showAfterSyncHint | iPhone/iTouch: show the hint to run AfterSync after eject (since 3.02p35) | bool | 1 |
| plFoldersAsNotes | (since 3.04p03) optionally switch on the mechanism to write a playlist folder hierarchy to the iPod notes section. That is for iPod models before the classic that don't support hierarchical playlist folders in their firmware. more info 0=off, 1=on, show only playlists in the iPod notes, 2=on, but show regular notes as well | int | 0 |
| usePodcastRatingHack | (since 3.08p04) most iPods need a special flag to enable podcast rating. nano 4G seems to mess it up. You can set this to 0 if you get problems | bool | 1 |
All other entries should be left untouched, most of them can be edited via the preferences dialog.
Example for an added line (transcodeWavFiles):
[ml_ipod] albumArtFolderFile=folder.jpg transcodeWavFiles=0
Winamp ini-file
The Winamp ini-file is usually found as "C:\Documents and Settings\loginname\Application Data\Winamp\Winamp.ini". Exception: If you did not choose "separate settings for each user" during the Winamp setup (=old style setup, same settings for all users), it can be found under "C:\Program files\Winamp\winamp.ini"
It contains settings that are global for all attached iPods, not specific to one device.
In winamp.ini, there is a lot of configuration data for all kinds of plugins. Everything that is related to ml_iPod is grouped under the heading [ml_ipod]. Make sure that you only add or edit stuff in this section!
| Entry | Description | Type | Default |
|---|---|---|---|
| detectAll | Check for iPods on all drive letters | bool | 0 |
| detectAllCyclic | If set, check all drive letters cyclically, otherwise do it only once at Winamp startup This has no effect if detectAll is not set. |
bool | 1 |
| debugAAlicense | Debug license handling | bool | 0 |
| traceflags | Controls trace output in debuglog.txt This is a bit-coded integer field |
int | 0 |
| ejectOnQuit | Automatically eject iPod when Winamp closes | bool | 1 |
| useDevEject | Use external deveject.exe to really eject the iPod (since 2.03p04) | bool | 1 (0 since 2.04p26) |
| saveGaplessData | Cache "gapless playback" data in a cache file on disk | bool | 1 |
| ignoreLogicalDrivesResult | Try to read all drives, even if Windows thinks this is no logical drive (patch for Windows misbehaviour with some USB cards) | bool | 0 |
| useOldPlaylistSort | Use the old method to sort playlists, which causes unwanted tree view refreshes | bool | 0 |
| showParseDatabaseDlg | while parsing the database at connect, show a dialog telling "parsing database..." (starting with v2.03p01, this can be set to 0 either as a global or iPod setting) | bool | 1 |
| selectIpodOnConnect | automatically select a newly conneced iPod | bool | 1 |
| useNde | use NDE for SPL queries, not the ML (0=no, only ML queries, 1=only NDE, 2=NDE and ML query as fallback) | int | 2 |
| photoGammaAdj | gamma correction for photo uploads (only used for TV out) | float | 0.9 |
| writeAtEjectOnly | if set to 0, ml_ipod tries to write the database not only at eject, but also after transfer of files or reordering of playlists | bool | 0 |
| suspendItunesHelper | (since 3.02p25) try to suspend Apple's iTunesHelper.exe while we run, prevents iTunes from auto-opening | bool | 1 |
| quicktimeSysDir | (since 3.02p25) overwrite directory where to find the QuickTime.qts file | string | none |
| amdSysDir | (since 3.02p25) overwrite directory where to find the AppleMobileDevice.dll file | string | none |
| albumArtMaxMB | (since 3.03p05) set the maximum size in MB that the ArtworkDB can get. This is a limitation due to bad SW design and Windows API problems :-( | int | 14 |
| allowIphoneFw2x | (since 3.07p01) allow read/write access to iPhones with firmware 2.x (experimental) | bool | 0 |
All other entries should be left untouched, most of them can be edited via the preferences dialog.
Example for two added lines (detectAllCyclic and traceflags):
[ml_ipod] detectAll=1 detectAllCyclic=0 noupdatenotify=0 traceflags=4