https://wiki.hydrogenaud.io/api.php?action=feedcontributions&user=Canar&feedformat=atomHydrogenaudio Knowledgebase - User contributions [en]2024-03-28T19:55:13ZUser contributionsMediaWiki 1.22.7https://wiki.hydrogenaud.io/index.php?title=New_Members_GuideNew Members Guide2012-08-31T15:45:10Z<p>Canar: /* Short answer */</p>
<hr />
<div>This page is meant to address concerns and questions which regularly come up on the forums by members new to the Hydrogenaudio community. In the past these questions lead to ever repeating discussions of the same fashion, straining moderators and regular users alike.<br />
<br />
=Should I rip my CDs to FLAC or WAV?=<br />
==Short answer==<br />
;Advantages of FLAC<br />
* Reduction of file size<br />
* Allows tagging of files<br />
* Better error detection<br />
;Advantages of WAV<br />
* Plays in virtually any audio player<br />
<br />
Basically FLAC is the best choice in all cases, since nowadays there are audio players which play FLAC on every major platform. So unless you commonly use software which is not able to play or decode FLAC files, there is no compelling reason not to use it.<br />
<br />
==Long Answer==<br />
First of all, FLAC is, as the name implies, a lossless audio compression format. This means that the decoded FLAC file will not only sound exactly the same as the WAV, but it will be identical bit-by-bit to the WAV file. You can think of FLAC (or any lossless compression algorithm) like the ZIP algorithm to compress data. You will get the exact data out as you put in, just like ZIP, just the file size will be smaller.<br />
<br />
The reduction in file size directly implies that the bitrate of the resulting FLAC file is smaller than that of the input WAV file. This fact often is confusing to people new to audio compression, because they were trained to accept that bitrate equals audio quality. So how can FLAC have the exact same audio quality as WAV, but have a smaller bit rate? This confusion is due to a misconception of the meaning of the word "bitrate", while in fact it is very simple. Bitrate simply is a measure of the number of bits allocated per second of audio. Since FLAC reduces the file size due to compression, this of course means that it needs to allocate less bits per second of audio than the source WAV file. In fact, for a lossless compressor it is preferable to achieve the lowest possible bitrate, because this directly means that the file was reduced to the smallest possible size while still being completely identical to the input file.<br />
<br />
The reduction in file size is already the biggest advantage of FLAC over WAV, but for most users another point is likely of equal importance. Most everyone knows and is used to metadata stored in audio formats, a popular example being ID3 tags in MP3 files. These allow to attach information about the audio stream directly to the file without the need for external files, or a specialized folder structure for the audio files. This immensely helps with keeping an ever-growing music collection organized, because the information about the audio data is always kept together with the audio stream itself, even when moving the files around on the hard drive. FLAC has a defined way of storing this kind of information too, which is structured similar to ID3 tags and can be edited by a multitude of tools for many platforms. Storing of metadata is not well-defined for WAV, and in fact most audio players and tagging tools are unable to read metadata from WAV files. This means that a user who stores music using WAV files has to meticulously keep his folder structure intact, or store the metadata in special file along with the audio files. Moving the files to another folder or losing the external metadata file means that the information is completely lost.<br />
<br />
These are strong points in favour of FLAC, but there also have to be mentioned a point which slightly speaks against it. Since WAV is such a simple and old audio format, virtually every audio software is able to read the format. This is not the case for FLAC, in fact the standard media players on both Windows (Windows Media Player) and Mac OS (iTunes) do not support FLAC. The user has to check beforehand if the software he intends to use is able to work with FLAC. While there are audio players for every major platform which can play FLAC, some users might for one reason or another not want to use them, or have to use a very specific piece of software (e.g. a specific Audio Workstation without FLAC support). In that case keeping WAV files might be preferable, though due to their lossless nature, FLAC files can be decoded to WAV to be used in the relevant piece of software.</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2012-07-04T16:32:19Z<p>Canar: /* properties/standard fields */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<br />
http://www.foobar2000.org/components/view/foo_texttools - becuz i am teh lazy<br />
<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY;Comment=COMMENT</code><br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives. [[User:Canar|Canar]] 21:06, 10 April 2011 (UTC) -- fixed incorrect output<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,MP3,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)<br />
<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ][%reissue date% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Multiplayer_GamesMultiplayer Games2012-06-07T17:19:51Z<p>Canar: moved MultiplayerGames to Multiplayer Games: This is not DokuWiki</p>
<hr />
<div>Some of us of the Hydrogenaudio and foobar2000 community like playing multiplayer games. This page keeps track of who plays what game and the in-game IDs. Meet us on #foobar2000 or #hydrogenaudio.<br />
<br />
'''Don't put anything besides IRC nicknames in here! If you want to play, ask on IRC!'''<br />
<br />
=Battlefield 3=<br />
* Case, diminish, Garf, kode54, Kohlrabi, mudlord, saivert, vbm, y4n, Zao<br />
<br />
=Diablo III=<br />
* Canar, chaosblade, Chastity, diminish, Kohlrabi, Maestro, Zao<br />
<br />
=League Of Legends=<br />
* Canar, Kohlrabi, Zao<br />
<br />
=StarCraft 2=<br />
* diminish, Garf, y4n<br />
<br />
=World Of Tanks=<br />
* Kohlrabi, tomek</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=MultiplayerGamesMultiplayerGames2012-06-07T17:19:51Z<p>Canar: moved MultiplayerGames to Multiplayer Games: This is not DokuWiki</p>
<hr />
<div>#REDIRECT [[Multiplayer Games]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Multiplayer_GamesMultiplayer Games2012-06-07T17:19:24Z<p>Canar: </p>
<hr />
<div>Some of us of the Hydrogenaudio and foobar2000 community like playing multiplayer games. This page keeps track of who plays what game and the in-game IDs. Meet us on #foobar2000 or #hydrogenaudio.<br />
<br />
'''Don't put anything besides IRC nicknames in here! If you want to play, ask on IRC!'''<br />
<br />
=Battlefield 3=<br />
* Case, diminish, Garf, kode54, Kohlrabi, mudlord, saivert, vbm, y4n, Zao<br />
<br />
=Diablo III=<br />
* Canar, chaosblade, Chastity, diminish, Kohlrabi, Maestro, Zao<br />
<br />
=League Of Legends=<br />
* Canar, Kohlrabi, Zao<br />
<br />
=StarCraft 2=<br />
* diminish, Garf, y4n<br />
<br />
=World Of Tanks=<br />
* Kohlrabi, tomek</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Multiplayer_GamesMultiplayer Games2012-06-07T17:12:31Z<p>Canar: </p>
<hr />
<div>Some of us of the HydrogenAudio and foobar2000 like playing multiplayer games. This page keeps track of who plays what game and the in-game IDs. Meet us on #foobar2000 or #hydrogenaudio.<br />
<br />
'''Don't put anything besides IRC nicknames in here! If you want to play, ask on IRC!'''<br />
<br />
=Battlefield 3=<br />
* Case, diminish, Garf, kode54, Kohlrabi, mudlord, saivert, vbm, y4n, Zao<br />
<br />
=Diablo III=<br />
* Canar, chaosblade, Chastity, diminish, Kohlrabi, Maestro, Zao<br />
<br />
=League Of Legends=<br />
* Canar, Kohlrabi, Zao<br />
<br />
=StarCraft 2=<br />
* diminish, Garf, y4n<br />
<br />
=World Of Tanks=<br />
* Kohlrabi, tomek</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2012-05-29T17:15:28Z<p>Canar: /* foo_texttools now-playing spam */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<br />
http://www.foobar2000.org/components/view/foo_texttools - becuz i am teh lazy<br />
<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY</code><br />
<br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives. [[User:Canar|Canar]] 21:06, 10 April 2011 (UTC) -- fixed incorrect output<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,MP3,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)<br />
<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ][%reissue date% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=LAMELAME2011-09-17T03:07:18Z<p>Canar: /* Remarks */</p>
<hr />
<div>{{Software Infobox<br />
| name = LAME<br />
| logo = [[Image:Lamelogo.png|250px|LAME official logo]]<br />
| screenshot =<br />
| caption = LAME ain't an MP3 encoder<br />
| maintainer = The LAME project<br />
| stable_release = 3.98.4<br />
| preview_release = none<br />
| operating_system = Windows, Mac OS/X, Linux/BSD<br />
| use = Encoder/Decoder<br />
| license = LGPL<br />
| website = [http://lame.sourceforge.net/ LAME website]<br />
}}{{featured}}<br />
'''LAME''' (Lame Ain't an MP3 Encoder) is the [[Hydrogenaudio]] recommended [[MP3]] encoder. It has been developed by the open-source community since 1998, and has become the highest quality [[MP3]] encoder for most purposes.<br />
<br />
Some benefits of using LAME:<br />
* Highly optimised presets<br />
* Fast encoding<br />
* [[CBR]], [[ABR]] and quality-optimized [[VBR]] encoding methods<br />
* [[Gapless]] playback with LAME-header compliant decoders<br />
* Supported by recommended CD rippers [[Exact Audio Copy]] and [[CDex]]<br />
* Highly tunable<br />
<br />
<br />
==History==<br />
LAME development began around mid-1998. Mike Cheng started it as a patch against the 8hz-MP3 encoder sources. After some quality concerns raised by others, he decided to start from scratch based on the dist10 sources.<ref>dist10 is the rudimentary "demonstration" MP3 encoder described in the MPEG-2 standard, ISO/IEC 13818.</ref> That branch (a patch against the reference sources) became LAME 2.0. By the release of LAME 3.81, all dist10 code was removed, making LAME a completely new program, not a mere patch of an existing encoder.<br />
<br />
The project quickly became a team effort. Mike Cheng eventually left leadership and started working on [http://toolame.sourceforge.net/ tooLAME], an [[MP2]] encoder. Mark Taylor became leader and released version 3.0 featuring gpsycho, a new psychoacoustic model developed by him.<br />
<br />
Nowadays LAME is considered the best MP3 encoder at mid & high bitrates, and features the best VBR model among MP3 implementations, mostly thanks to the dedicated work of talented developers like Takehiro Tominaga, Naoki Shibata, Darin Morrison, Gabriel Bouvigne, Robert Hegemann, etc. Development is ongoing.<br />
<br />
Although LAME is generally considered to be an encoder, according to the LAME technical FAQ, it's technically not an encoder, but rather is officially just "a development project which uses the open source model to improve MP3 technology." This improved technology is only released in source code form in order to minimize the risk of violating patents. When the source code is compiled and distributed, it ''may'' require a license from Thomson, depending on where and how it's to be used. The LAME project's position is "Source code is considered as speech, which may contain descriptions of patented technology. Descriptions of patents are in the public domain."<br />
<br />
==Recommended encoder compiles and source code==<br />
<br />
Unless noted otherwise, the recommended LAME compile for optimal quality is always the '''latest stable version'''.<br />
<br />
It is suggested that the compiles available here be used with the recommended encoder settings you can find below.<br />
<br />
'''Download the latest LAME from these links:'''<br />
* [http://www.rarewares.org/mp3.php RareWares MP3 Page] - Compiles for Win32, Mac OS X universal binary, Linux etc.<br />
* [http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309 LAME source code on SourceForge]<br />
<br />
==Recommended encoder settings==<br />
This section describes the [[Hydrogenaudio]] recommended settings to be used with [[LAME]] for highest quality [[MP3]] encoding. These settings require LAME 3.98 or later (the latest stable version is recommended).<br />
<br />
===Quick start (short answer)===<br />
====Best quality: <font style="color:red">"archiving"</font>====<br />
<br />
<code><font style="color:red">-b 320</font></code>. This is the strongest setting for [[MP3]], with the lowest risk of [[artifact]]s.<br />
With the exception of a few situations, quality is rarely better than the highest [[VBR]] profiles described below. However, 'archiving' music using a lossy format like [[MP3]] is never recommended &ndash; no matter how transparent the resulting files might sound.<br />
The alternative is to use [[Lossless]] formats like [[WavPack]], [[FLAC]] etc. that allow true archiving, bit for bit like on the original CD.<br />
<br />
====High quality: <font style="color:green">HiFi, home or quiet listening</font>====<br />
<br />
<code><font style="color:green">-V0</font></code> (~245 kbps), <code><font style="color:green">-V1</font></code> (~225 kbps), <code><font style="color:green">-V2</font></code> (~190 kbps) or <code><font style="color:green">-V3</font></code> (~175 kbps) are recommended.<br />
These settings will normally produce [[transparent]] encoding (transparent = most people can't distinguish the [[MP3]] from the original in an [[ABX]] blind test).<br />
Audible differences between these presets exist, but are rare.<br />
<br />
====Portable: <font style="color:purple">background noise and low bitrate requirement, small sizes</font>====<br />
<br />
<code><font style="color:purple">-V4</font></code> (~165 kbps), <code><font style="color:purple">-V5</font></code> (~130 kbps) or <code><font style="color:purple">-V6</font></code> (~115 kbps) are recommended.<br />
<code><font style="color:purple">-V6</font></code> produces an "acceptable" quality, while <code><font style="color:purple">-V4</font></code> should be close to perceptual [[transparency]].<br />
<br />
====Very low bitrate, small sizes: <font style="color:blue">eg. for voice, radio, [[mono]] encoding etc.</font>====<br />
<br />
For very low bitrates, up to 100kbps, [[ABR]] is most often the best solution. <br />
Use <code><font style="color:blue">--abr <bitrate></font></code> (e.g. --abr 80).<br />
<br />
'''--preset voice''' is only available in the command line front-end, and is there for compatibility.<br />
It is currently mapped to '''''--abr 56 -mm''''', so that means that the recommendation would be to encode in mono, and use ABR.<br />
<br />
===Detailed explanation (long answer)===<br />
====VBR (variable bitrate) settings====<br />
'''[[VBR]]:''' ''variable bitrate mode. Use variable bitrate modes when the goal is to achieve a fixed level of quality using the lowest possible bitrate.''<br />
<br />
[[VBR]] is best used to target a specific quality level, instead of a specific bitrate. The final file size of a [[VBR]] encode is less predictable than with [[ABR]], but the quality is usually better.<br />
<br />
Unlike other MP3 encoders which do VBR encoding based on predictions of output quality, LAME's default VBR method tests the ''actual'' output quality to ensure the desired quality level is always achieved.<br />
<br />
'''Usage:''' <code>-V(number)</code> where number is 0-9, 0 being highest quality, 9 being the lowest.<br />
<br />
'''Example:''' <code>-V2</code><br />
<br />
'''Note:''' The switch <code>--vbr-new</code>, which enabled a superior VBR mode in LAME 3.97 and some previous versions, is no longer needed with LAME 3.98 as it is now the default VBR mode. However, if you're still using LAME 3.97 or older, you have to add <code>--vbr-new</code> to your commandline to use that mode.<br />
<br />
<br />
<br />
{| class="wikitable" style="margin: 1em auto 1em auto;"<br />
|+'''Bitrate overview (mostly based on LAME 3.98.2 results)'''<br />
| '''Switch''' || '''Preset''' || '''Target Kbit/s''' || '''Bitrate range kbit/s'''<br />
|- style="background:white;"<br />
| -b 320 || --preset insane || 320 || 320 CBR<br />
|-<br />
|- style="background:white;"<br />
| -V 0 || --preset fast extreme || 245 || 220...260<br />
|-<br />
|- style="background:white;"<br />
| -V 1 ||&nbsp;|| 225 || 190...250<br />
|-<br />
|- style="background:white;"<br />
| -V 2 || --preset fast standard || 190 || 170...210<br />
|-<br />
|- style="background:white;"<br />
| -V 3 ||&nbsp;|| 175 || 150...195<br />
|-<br />
|- style="background:white;"<br />
| -V 4 || --preset fast medium || 165 || 140...185<br />
|-<br />
|- style="background:white;"<br />
| -V 5 ||&nbsp;|| 130 || 120...150<br />
|-<br />
|- style="background:white;"<br />
| -V 6 ||&nbsp;|| 115 || 100...130<br />
|-<br />
|- style="background:white;"<br />
| -V 7 ||&nbsp;|| 100 || 80...120<br />
|-<br />
|- style="background:white;"<br />
| -V 8 ||&nbsp;|| 85 || 70...105<br />
|-<br />
|- style="background:white;"<br />
| -V 9 ||&nbsp;|| 65 || 45...85<br />
|}<br />
See also [[#Technical information|Technical details for recommended LAME settings]].<br />
<br />
If you need a predictable bitrate (in a streaming application, for example), use [[ABR]] or [[CBR]] modes, described below.<br />
<br />
====ABR (average bitrate) settings====<br />
'''[[ABR]]:''' ''average bitrate mode. A compromise between [[VBR]] and [[CBR]] modes, [[ABR]] encoding varies bits around a specified target bitrate.''<br />
<br />
Use [[ABR]] when you need to know the final size of the file but still want to allow the encoder some flexibility to decide which passages need more bits.<br />
<br />
'''Usage:''' <code>--preset <bitrate></code> where <bitrate> (desired averaged bitrate in kbit/s) can be any value between 8 - 320 , like eg. 9, 17, 80, 128, 133, 200 etc.<br />
<br />
'''Example:''' <code>--preset 200</code><br />
<br />
'''Important:''' ''[[ABR]] setting is tuned from 320 kbit/s down to 80 kbit/s.''<br />
<br />
====CBR (constant bitrate) settings====<br />
'''[[CBR]]:''' ''constant bitrate mode. [[CBR]] encoding is not efficient. Whereas [[VBR]] and [[ABR]] modes can supply more bits to complex music passages and save bits on simpler ones, [[CBR]] encodes every frame at the same bitrate.''<ref>Except frames of silence, which are encoded at a minimal bitrate (8 or 32, depending on MPEG version). Use -F to disable this feature.</ref><br />
<br />
[[CBR]] is only recommended for usage in streaming situations where the upper bitrate must be strictly enforced.<br />
<br />
'''Usage:''' <code>-b <bitrate></code> where <bitrate> (bitrate in kbit/s) must be chosen from the following values: 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, or 320.<br />
<br />
'''Example:''' <code>-b 192</code><br />
<br />
'''Important:''' ''[[CBR]] setting is tuned from 320 kbit/s down to 80 kbit/s.''<br />
<br />
===Remarks===<br />
* The rule of thumb when considering encoding options: at a given bitrate, [[VBR]] is higher quality than [[ABR]], which is higher quality than [[CBR]] ([[VBR]] > [[ABR]] > [[CBR]] in terms of quality). The exception to this is when you choose the highest possible [[CBR]] bitrate, which is 320 kbps (-b 320 = --alt-preset insane), but this produces the largest filesizes for doubtful audible benefit.<br />
<br />
* All modes and settings mentioned in this topic belong to the specifications of the [[MP3]] standard, and the resulting MP3s should be playable by every [[MP3]] decoder that conforms with the standard. If your decoder or device does not play MP3s produced by LAME, blame the manufacturer or developer, not LAME.<br />
<br />
* Avoid using alpha (a) versions of LAME. More often than not those are exclusively for testing purposes. Use them only if you want to help developers with feedback. History of [http://www.hydrogenaudio.org/forums/index.php?showtopic=28125/ Lame versions & compiles].<br />
<br />
* The <code>--vbr-new</code> switch enables the new [[VBR]] mode (no longer needed with LAME 3.98, as it is now the default VBR mode). In terms of quality, <code>--vbr-new</code> appears to be better than the old model, but reports of artifacts when using the new model do exist. Despite these possible issues, <code>--vbr-new</code> is currently recommended over the default [[VBR]] mode due to both the speed and quality increases afforded by the new algorithm.<br />
<br />
* '''-mm''' : the sound will be encoded in '''mono'''. Useful for low bitrates and/or when stereo is not important.<br />
<br />
====Hey! What happened to "--alt-preset"?====<br />
<br />
The revolutionary <code>--alt-preset</code> system was introduced in LAME 3.90; it was replaced by the <code>--preset</code> flags in later versions. Starting with version 3.94, the <code>-Vx</code> quality system was introduced, which allows finer control over the desired bitrate; the <code>--preset</code> switches were made into aliases to the corresponding <code>-V</code> flags for the sake of backwards compatibility. '''There is no difference between the output you get if you use <code>-V2</code> or <code>--alt-preset standard</code>.''' (Although adding <code>--vbr-new</code> is recommended for now, see above for details.)<br />
<br />
More encoding options are available under the new system, such as <code>-V1</code>, which provides a level of quality between the old "standard" and "extreme" presets, or <code>-V3</code>, which is between the old "medium" and "standard" presets.<br />
<br />
Recent LAME versions feature more streamlined command-line options, and it's recommended to stick to one of the values described in the text or shown in the tables above.<br />
<br />
For example, the following command-line options will all produce the same output:<br />
<br />
* <code>--alt-preset insane</code><br />
* <code>--preset insane</code><br />
* <code>-b 320</code><br />
* <code>--preset 320</code><br />
* <code>--preset cbr 320</code><br />
<br />
==Technical information==<br />
===Recommended settings details===<br />
The table below contains technical details about the recommended settings. <br />
<br />
{| class="wikitable" style="margin: 1em auto 1em auto;"<br />
|+'''Technical details of the recommended settings'''<br />
| '''Switch''' || '''Preset''' || '''Target Kbps''' || '''[[LAME_Y_SWITCH|Y Switch]]''' || '''Lowpass''' || '''Resample'''<br />
|-<br />
|- style="background:white;"<br />
| -V 0 || --preset fast extreme || ~245 || || 19383 Hz - 19916 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 1 || || ~225 || || 18671 Hz - 19205 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 2 || --preset fast standard || ~190 || || 18671 Hz - 19205 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 3 || || ~175 || Y || 17960 Hz - 18494 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 4 || --preset fast medium || ~165 || Y || 17249 Hz - 17782 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 5 || || ~130 || Y || 16538 Hz - 17071 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 6 || || ~115 || Y || 15115 Hz - 15648 Hz ||<br />
|-<br />
|- style="background:white;"<br />
| -V 7 || || ~100 || Y || 14581 Hz - 14968 Hz || 32000 Hz<br />
|-<br />
|- style="background:white;"<br />
| -V 8 || || ~85 || Y || 12516 Hz - 12903 Hz || 32000 Hz<br />
|-<br />
|- style="background:white;"<br />
| -V 9 || || ~65 || Y || 9336 Hz - 9602 Hz || 24000 Hz<br />
|}<br />
<br />
===Fraunhofer decoder incompatibility===<br />
Differing interpretations of an unclear portion of the MP3 spec led to certain versions of the Fraunhofer IIS MP3 decoder being unable to properly play certain MP3s created with certain versions of LAME.<br />
<br />
In order to demonstrate the problem, the problematic MP3 must have been created with LAME 3.97 or earlier, and must contain a frame with certain parameters and a very large amount of data, such as a 320-kbps frame which makes heavy use of the [[bit reservoir]]. The decoder must be the DirectShow filter <code>l3codecx.ax</code> version 1.5.0 or lower. That filter is the decoder used by Windows Media Player. The filter was upgraded to 1.6.0 by [http://support.microsoft.com/kb/2115168/en-us an August 2010 security update]; the newer version can play the problematic MP3s.<br />
<br />
A workaround was implemented in LAME 3.98.0 beta 1 through LAME 3.98.2, and in LAME 3.99 alpha 1, whereby 320-kbps frames were limited in how much of the bit reservoir they could use. This resulted in wasted space when the bit reservoir would grow beyond the limit. In LAME 3.98.3 and beyond, and in LAME 3.99 alpha 2 and beyond, the method was changed such that the bit reservoir can't grow beyond the limit.<br />
<br />
Related discussion threads:<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=40308 LAME high bitrate files in l3codeca.ax]<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=78114 Lame 3.98 wastes bits]<br />
<br />
==See also==<br />
* [[MP3]]<br />
* [[Exact_Audio_Copy|Exact Audio Copy]]<br />
* [[EAC_and_Lame | Configuring EAC and LAME]]<br />
<br />
<br />
==Notes and references==<br />
<br />
'''People who took part in suggesting the different settings:'''<br />
<br />
Dibrom, r3mix, ff123, Hans Heijden, kjempen, Benjamin Lebsanft, GeSomeone, Wombat & GuruBoolez for his immense testing.<br />
<br />
'''Creation of the alt preset system and related special code level quality enhancements:'''<br />
<br />
Dibrom, with technical assistance from Robert Hegemann and Naoki Shibata, Gabriel and extensive tuning help and quality verification via listening tests from JohnV and also initial help (--dm-preset era) from Hans Heijden, ff123, Wombat, and others. Test clips, bitrate information, and further listening tests provided by TheBashar, zbutsam, Pio2001, BadDuDeX, r3mix, h, TarX, Hans Heijden, ff123, Wombat, Filburt, Volcano, Garf, MrDrew, TrNSZ, nyaochi, Amadeus93, in no particular order, and many, many others we (Dibrom, user) probably forgot to mention.<br />
<br />
'''Idea (also exposing the need for a unified preset system), Original post and list of original settings collected by:''' user<br />
<br />
'''Layout and additional work by:''' dev0, CiTay, SNYder, Dibrom.<br />
<br />
And finally...<br />
<br />
Thank you ALL in the community for making it what it is, providing interest and discussion and helping to work towards the most concise, well tuned, and most thought out MP3 quality "paradigm" seen yet! -- Dibrom<br />
<br />
===Footnotes===<br />
<references/><br />
<br />
==Further reading==<br />
*[[CBR]]<br />
*[[ABR]]<br />
*[[VBR]]<br />
*[[LAME_Y_SWITCH| The -Y switch]]<br />
<br />
==External links==<br />
*[http://lame.sourceforge.net LAME official homepage]<br />
<!--ReallyRarewares and the rest of rjamorim.com is gone. If the content is back online, please restore & update these links.<br />
*[http://www.rjamorim.com/rrw/lame.html Historical versions of LAME] at ReallyRareWares<br />
*[http://www.rjamorim.com/test/ Several multiformat listening tests] featuring LAME and other encoders.<br />
--><br />
*[http://www.rarewares.org/mp3.html RareWares MP3 page]<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=478&st=0 Discussion of recommended Lame compiles in the Hydrogenaudio forum]<br />
* [http://www.hydrogenaudio.org/forums/index.php?act=ST&f=16&t=32288 Forum discussion of the recommended settings]<br />
* [http://www.hydrogenaudio.org/forums/index.php?act=ST&f=15&t=203 Forum discussion of the recommended settings (older)]<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=32288&view=findpost&p=327262 Previous recommendations (outdated)]<br />
<br />
[[Category:Software]]<br />
[[Category:Encoder/Decoder]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2011-05-06T04:03:02Z<p>Canar: /* foo_fileops file name pattern */ added reissue date, fixed spacing problem</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY</code><br />
<br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives. [[User:Canar|Canar]] 21:06, 10 April 2011 (UTC) -- fixed incorrect output<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,MP3,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)<br />
<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ][%reissue date% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2011-04-10T21:06:39Z<p>Canar: /* mp3 sourced */ prints mp3 >_></p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY</code><br />
<br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives. [[User:Canar|Canar]] 21:06, 10 April 2011 (UTC) -- fixed incorrect output<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,MP3,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2011-04-10T21:03:42Z<p>Canar: /* foo_texttools now-playing spam */ spacing fucko</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%[ '['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY</code><br />
<br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,CD,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2011-04-10T05:19:22Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was. Unless otherwise noted: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)<br />
<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
<br />
==advanced/display==<br />
<br />
===autocomplete fields===<br />
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code><br />
<br />
===properties/standard fields===<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Remix Artist=REMIX ARTIST;Remix Title=REMIX TITLE;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID;Quality=QUALITY</code><br />
<br />
<br />
==default ui columns==<br />
<br />
===track information===<br />
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code><br />
<br />
===cd sourced===<br />
prints cd if likely cd-sourced, ie. number of samples is a multiple of 588, the cd sector size. ~0.2% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code><br />
<br />
===mp3 sourced===<br />
prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives<br />
<br />
<code>$ifequal($mod(%length_samples%,1152),0,CD,?)</code><br />
<br />
==default ui grouping==<br />
<code>$puts(SEP,$select($add($mod($crc32(%album%%album artist%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂)) %album artist% $get(SEP) %album% $get(SEP) %date% $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%]) $get(SEP) $codec()[, %quality%]</code><br />
<br />
==foo_fileops file name pattern==<br />
<code>$if2(%publisher%,Unknown or Independent)\[%catalog number% - ]%album artist% - %date% - %album%\[%disc%.]%tracknumber%[ - %track artist%] - %title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-08-27T19:31:52Z<p>Canar: /* foobar2000 bugs */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
01:38, 15 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-08-27T17:55:45Z<p>Canar: /* foobar2000 bugs */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, pending)<br />
#TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
01:38, 15 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-08-27T17:55:31Z<p>Canar: /* bugs/peculiarities */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
01:38, 15 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-08-27T17:55:19Z<p>Canar: /* foobar2000 ideas */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (completed)<br />
*open containing folder on files in .zips (asked, pending)<br />
=bugs/peculiarities=<br />
*Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, pending)<br />
*TITLE is ignored in Playback Statistics (asked, implementing)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
01:38, 15 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Comparison_of_CD_rippersComparison of CD rippers2010-07-30T19:43:23Z<p>Canar: </p>
<hr />
<div>{{stub}}<br />
<br />
<br />
{| cellspacing="2" style="text-align:center; border:1px solid blue;"<br />
|width="200px"|'''Features'''<br />
| width="95px" style="background: #00FFFF" | [[Cdparanoia]]{{ref|Cdparanoia_fronts|a}}<br />
| width="95px" style="background: #00FFFF" | [[EAC|Exact Audio Copy]]<br />
| width="95px" style="background: #00FFFF" | [[DBpowerAMP_with_AccurateRip|dBpoweramp CD Ripper]]<br />
| width="95px" style="background: #00FFFF" | [[Foobar2000:Foobar2000|foobar2000]]<br />
| width="95px" style="background: #00FFFF" | [[ITunes]]<br />
| width="95px" style="background: #00FFFF" | [[Windows Media Player]]<br />
| width="95px" style="background: #00FFFF" | [[CueTools|CUETools]]<br />
| width="95px" style="background: #00FFFF" | [[XLD]]<br />
| width="95px" style="background: #00FFFF" | [http://sbooth.org/Rip/ Rip]<br />
| width="95px" style="background: #00FFFF" | [[MusicBee]]<br />
|-<br />
!colspan="11" style="background: #ececec"| Data acquisition<br />
|-<br />
| align="left" style="background: #FFFF99" | One track per file<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Image as single file<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[Cue sheet|CUE sheet]] generation<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes{{ref|EAC-cue|b}}<br />
| style="background: #CCFFCC" | [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=82483&view=findpost&p=715699 limited], more [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]<br />
| style="background: #CCFFCC" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes{{ref|EAC-noncompliant|c}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | limited<br />
|-<br />
| align="left" style="background: #FFFF99" | gap detection<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
|align="left" style="background: #FFFF99" | Offset correction<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[HTOA]]<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FF9900" | no<br />
|-<br />
|align="left" style="background: #FFFF99" | C2 pointers<br />
| style="background: #FFCC99" | no<br />
| style="background: #CCFFCC" | initial pass<br />
| style="background: #00FF00" | initial pass, on re-reads <br />
| style="background: #FFCC99" | no<br />
| style="background: #FFCC99" | no<br />
| style="background: #FFCC99" | no<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #CCFFCC" | initial pass<br />
| style="background: #00FF00" | initial pass, on re-reads <br />
| style="background: #CCFFCC" | initial pass<br />
|-<br />
|align="left" style="background: #FFFF99" | Defeat cache<br />
| style="background: #00FF00" | over-reading<br />
| style="background: #00FF00" | over-reading, FUA<br />
| style="background: #00FF00" | over-reading, FUA<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
!colspan="11" style="background: #ececec"| Additional features<br />
|-<br />
|align="left" style="background: #FFFF99" | [[AccurateRip]]{{ref|AR2|d}}<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes{{ref|AR2|d}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[AccurateRip]] checking across pressings/offsets{{ref|AR2|d}}<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #CCFFCC" | [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]{{ref|AR2|d}}<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
|-<br />
| align="left" style="background: #FFFF99" | [http://db.cuetools.net/about.php CUEtools db]<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | log file<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | Metadata<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | [[freedb]], [[MusicBrainz]] (through [http://musicbrainz.org/doc/FreeDB_Gateway mb2freedb]), [[CD-Text]]<br />
| style="background: #00FF00" | freedb, MusicBrainz, AMG, GD3, SonataDB, CD-Text, [http://www.dbpoweramp.com/cd-ripper.htm PerfectMeta™]{{ref|compare_meta|e}}<br />
| style="background: #00FF00" | freedb, MusicBrainz ([http://www.hydrogenaudio.org/forums/index.php?showtopic=70623 plugin]), Discogs (plugin), CD-Text<br />
| style="background: #00FF00" | gracenote, MusicBrainz (Mac-only [http://musicbrainz.org/doc/FreeDB_Gateway hack]), CD-Text<br />
| style="background: #00FF00" | AMG, CD-Text ([http://bmproductions.fixnum.org/index.htm?http://bmproductions.fixnum.org/moreprogs/wmpcdtext.htm plugin])<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz, CD-Text<br />
|-<br />
|align="left" style="background: #FFFF99" | Download Album Art<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | with [[REACT]]<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | with Discogs (plugin)<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Cost<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #CCFFCC" | $36 (as listed)<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
|-<br />
| align="left" style="background: #FFFF99" | License<br />
| style="background: #00FF00" | GPL<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #CCFFCC" | freeware, shareware<br />
| style="background: #00FF00" | freeware<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #00FF00" | GPL<br />
| style="background: #00FF00" | GPL<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | proprietary, freeware<br />
|-<br />
|align="left" style="background: #FFFF99" | OS<br />
| style="background: #00FF00" | Windows, Mac OS/X, Linux/BSD<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #00FF00" | Windows, Mac<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Mac<br />
| style="background: #CCFFCC" | Mac<br />
| style="background: #CCFFCC" | Windows<br />
|}<br />
'''Notes:'''<br />
<br />
*{{note|Cdparanoia_fronts|a}} Cdparanoia is one of many frontends to the Paranoia library, libparanoia. Additional features not directly related to the ripping process might be supported in other frontends. See [[Cdparanoia]].<br />
*{{note|EAC-cue|b}}A number of [[EAC and Cue Sheets|different types CUE sheet types]] are available.<br />
*{{note|EAC-noncompliant|c}} The EAC-style [[EAC_and_Cue_Sheets#Multiple_WAV_Files_With_Gaps_.28Noncompliant.29_-_a.k.a._.22Append_Gaps_to_.28end_of.29_Previous_Track_.28default.29.22|"Multiple WAV Files With Gaps (Noncompliant)"]] type will be used in single track mode.<br />
*{{note|AR2|d}} AccurateRip has recently been extended with AccurateRip 2 which will <u>theoretically</u> add more security and will account for pressings with different offsets. More information can be found [http://forum.dbpoweramp.com/showpost.php?p=87227&postcount=5 here] and [http://forum.dbpoweramp.com/showthread.php?t=20641 here]. Currently AccurateRip 2 is only supported by [http://forum.dbpoweramp.com/showthread.php?t=20303|dBpoweramp CD Ripper R14] which is in beta testing.<br />
*{{note|compare_meta|e}}dBpoweramp is unique in being able to compare metadata from several sources automatically to eliminate erroneous data.<br />
<br />
[[Category:Comparison of CD ripping techniques]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Comparison_of_CD_rippersComparison of CD rippers2010-07-30T19:40:38Z<p>Canar: </p>
<hr />
<div>{{stub}}<br />
<br />
<br />
{| cellspacing="2" style="text-align:center; border:1px solid blue;"<br />
|width="200px"|'''Features'''<br />
| width="95px" style="background: #00FFFF" | [[Cdparanoia]]{{ref|Cdparanoia_fronts|a}}<br />
| width="95px" style="background: #00FFFF" | [[EAC|Exact Audio Copy]]<br />
| width="95px" style="background: #00FFFF" | [[DBpowerAMP_with_AccurateRip|dBpoweramp CD Ripper]]<br />
| width="95px" style="background: #00FFFF" | [[Foobar2000:Foobar2000|foobar2000]]<br />
| width="95px" style="background: #00FFFF" | [[ITunes]]<br />
| width="95px" style="background: #00FFFF" | [[Windows Media Player]]<br />
| width="95px" style="background: #00FFFF" | [[CueTools|CUETools]]<br />
| width="95px" style="background: #00FFFF" | [[XLD]]<br />
| width="95px" style="background: #00FFFF" | [http://sbooth.org/Rip/ Rip]<br />
| width="95px" style="background: #00FFFF" | [[MusicBee]]<br />
|-<br />
!colspan="11" style="background: #ececec"| Data acquisition<br />
|-<br />
| align="left" style="background: #FFFF99" | One track per file<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Image as single file<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[Cue sheet|CUE sheet]] generation<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes{{ref|EAC-cue|b}}<br />
| style="background: #CCFFCC" | [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=82483&view=findpost&p=715699 limited], more [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]<br />
| style="background: #CCFFCC" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes{{ref|EAC-noncompliant|c}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | limited<br />
|-<br />
| align="left" style="background: #FFFF99" | gap detection<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
|align="left" style="background: #FFFF99" | Offset correction<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[HTOA]]<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FF9900" | no<br />
|-<br />
|align="left" style="background: #FFFF99" | C2 pointers<br />
| style="background: #FFCC99" | no<br />
| style="background: #CCFFCC" | initial pass<br />
| style="background: #00FF00" | initial pass, on re-reads <br />
| style="background: #FFCC99" | no<br />
| style="background: #FFCC99" | no<br />
| style="background: #FFCC99" | no<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #CCFFCC" | initial pass<br />
| style="background: #00FF00" | initial pass, on re-reads <br />
| style="background: #CCFFCC" | initial pass<br />
|-<br />
|align="left" style="background: #FFFF99" | Defeat cache<br />
| style="background: #00FF00" | over-reading<br />
| style="background: #00FF00" | over-reading, FUA<br />
| style="background: #00FF00" | over-reading, FUA<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
!colspan="11" style="background: #ececec"| Additional features<br />
|-<br />
|align="left" style="background: #FFFF99" | [[AccurateRip]]{{ref|AR2|d}}<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes{{ref|AR2|d}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | [[AccurateRip]] checking across pressings/offsets{{ref|AR2|d}}<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #CCFFCC" | [http://forum.dbpoweramp.com/showthread.php?t=20303 in beta]{{ref|AR2|d}}<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
|-<br />
| align="left" style="background: #FFFF99" | [http://db.cuetools.net/about.php CUEtools db]<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | log file<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | Metadata<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | [[freedb]], [[MusicBrainz]] (through [http://musicbrainz.org/doc/FreeDB_Gateway mb2freedb]), [[CD-Text]]<br />
| style="background: #00FF00" | freedb, MusicBrainz, AMG, GD3, SonataDB, CD-Text, [http://www.dbpoweramp.com/cd-ripper.htm PerfectMeta™]{{ref|compare_meta|e}}<br />
| style="background: #00FF00" | freedb, MusicBrainz ([http://www.hydrogenaudio.org/forums/index.php?showtopic=70623 plugin]), Discogs (plugin), CD-Text<br />
| style="background: #00FF00" | gracenote, MusicBrainz (Mac-only [http://musicbrainz.org/doc/FreeDB_Gateway hack]), CD-Text<br />
| style="background: #00FF00" | AMG, CD-Text ([http://bmproductions.fixnum.org/index.htm?http://bmproductions.fixnum.org/moreprogs/wmpcdtext.htm plugin])<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz<br />
| style="background: #00FF00" | freedb, MusicBrainz, CD-Text<br />
|-<br />
|align="left" style="background: #FFFF99" | Download Album Art<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | with [[REACT]]<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Cost<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #CCFFCC" | $36 (as listed)<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
| style="background: #00FF00" | free<br />
|-<br />
| align="left" style="background: #FFFF99" | License<br />
| style="background: #00FF00" | GPL<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #CCFFCC" | freeware, shareware<br />
| style="background: #00FF00" | freeware<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #00FF00" | proprietary, freeware<br />
| style="background: #00FF00" | GPL<br />
| style="background: #00FF00" | GPL<br />
| style="background: #FFFFFF" | &nbsp;<br />
| style="background: #00FF00" | proprietary, freeware<br />
|-<br />
|align="left" style="background: #FFFF99" | OS<br />
| style="background: #00FF00" | Windows, Mac OS/X, Linux/BSD<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #00FF00" | Windows, Mac<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Windows<br />
| style="background: #CCFFCC" | Mac<br />
| style="background: #CCFFCC" | Mac<br />
| style="background: #CCFFCC" | Windows<br />
|}<br />
'''Notes:'''<br />
<br />
*{{note|Cdparanoia_fronts|a}} Cdparanoia is one of many frontends to the Paranoia library, libparanoia. Additional features not directly related to the ripping process might be supported in other frontends. See [[Cdparanoia]].<br />
*{{note|EAC-cue|b}}A number of [[EAC and Cue Sheets|different types CUE sheet types]] are available.<br />
*{{note|EAC-noncompliant|c}} The EAC-style [[EAC_and_Cue_Sheets#Multiple_WAV_Files_With_Gaps_.28Noncompliant.29_-_a.k.a._.22Append_Gaps_to_.28end_of.29_Previous_Track_.28default.29.22|"Multiple WAV Files With Gaps (Noncompliant)"]] type will be used in single track mode.<br />
*{{note|AR2|d}} AccurateRip has recently been extended with AccurateRip 2 which will <u>theoretically</u> add more security and will account for pressings with different offsets. More information can be found [http://forum.dbpoweramp.com/showpost.php?p=87227&postcount=5 here] and [http://forum.dbpoweramp.com/showthread.php?t=20641 here]. Currently AccurateRip 2 is only supported by [http://forum.dbpoweramp.com/showthread.php?t=20303|dBpoweramp CD Ripper R14] which is in beta testing.<br />
*{{note|compare_meta|e}}dBpoweramp is unique in being able to compare metadata from several sources automatically to eliminate erroneous data.<br />
<br />
[[Category:Comparison of CD ripping techniques]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:Canar:hurrUser:Canar:hurr2010-07-14T05:25:15Z<p>Canar: </p>
<hr />
<div>Fort Knox Five - The Brazilian Hipster<br />
Bay City Rollers - Keep On Dancing</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=LossyWAVLossyWAV2010-07-06T18:34:44Z<p>Canar: /* Example foobar2000 converter settings */ Zapped misinformation.</p>
<hr />
<div>{{Software Infobox<br />
| name = lossyWAV<br />
| logo =<br />
| screenshot = <br />
| caption = <br />
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]<br />
| stable_release = 1.2.0<br />
| preview_release = <none><br />
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]<br />
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]<br />
| license = [[Wikipedia:GNU General Public License|GNU GPL]]<br />
| website = [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=64666&view=findpost&p=577042 Hydrogenaudio]<br />
}}<br />
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.<br />
lossyWAV's primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.<br />
<br />
==History==<br />
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of samples, therefore utilising the wasted bits feature of the FLAC lossless codec. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]'s) zero), consequently taking advantage of FLAC's detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.<br />
<br />
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.<br />
<br />
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. <br />
<br />
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David's original method, the method itself still very much belongs to its author.<br />
<br />
==Indicative bitrate reduction==<br />
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 & 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds [[Wikipedia:white noise|white noise]] to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. Each sample in the codec-block is then rounded such that the first <bits-to-remove> lsb's are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.<br />
<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
!lossyWAV Test Set (16 bit / 44.1kHz)<br />
!Codec<br />
!lossless<br />
!--insane<br />
!--extreme<br />
!--standard<br />
!--portable<br />
!--zero<br />
|-<br />
!10 Album Test Set<br />
| TAK<br />
| 820 kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
|-<br />
!10 Album Test Set<br />
| FLAC<br />
| 854 kbit/s<br />
| 627 kbit/s<br />
| 544 kbit/s<br />
| 460 kbit/s<br />
| 376 kbit/s<br />
| 288 kbit/s<br />
|-<br />
!10 Album Test Set<br />
| Wavpack<br />
| 852 kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
|}<br />
<br />
==File identification==<br />
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. ".lossy.flac" would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498559]<br />
<br />
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When "added" to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.<br />
<br />
Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name. Combination names are listed in the "[[LossyWAV#Known supported codecs|known supported codecs]]" section below.<br />
<br />
lossyWAV inserts a variable-length 'fact' chunk into the WAV file immediately after the 'fmt ' chunk. This takes the form:<pre>fact/<size>/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5</pre>Where the version, date & time and user settings are copied. Additionally, if a lossyWAV 'fact' chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.<br />
<br />
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.<br />
<br />
==Quality presets==<br />
*--insane: (-q 10) Highest quality preset, generally considered to be excessive;<br />
*--extreme: (-q 7.5) High quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;<br />
*--standard: (-q 5) Default preset, generally accepted to be transparent;<br />
*--portable: (-q 2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=56129&view=findpost&p=531316]<br />
<br />
All tuning has been performed on quality preset --standard with higher presets being more conservative. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.<br />
<br />
The --altpreset parameter was introduced at 1.2.0 which creates a second quality range using modified internal presets and extends the quality range from -4 to 10 (--quality -4 --altpreset is equivalent to --quality 0 --limit 15159 in the default quality range).<br />
<br />
==Supported input formats==<br />
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).<br />
<br />
==Codec compatibility==<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
!Codec<br />
!Supported<br />
!Encoder parameters<br />
!Combination name<br />
|-<br />
! [[Free Lossless Audio Codec|FLAC]]<br />
| '''Yes'''<br />
| -'''5''' -'''b''' 512 --'''keep-foreign-metadata'''<br />
| lossy'''FLAC'''<br />
|-<br />
! [[Lossless Predictive Audio Compression|LPAC]]<br />
| '''Yes'''<br />
| -'''b'''512<br />
| lossy'''LPAC'''<br />
|-<br />
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]<br />
| '''Yes'''<br />
| -'''l''' -'''n'''512<br />
| lossy'''ALS'''<br />
|-<br />
! [[TAK]]<br />
| '''Yes'''<br />
| -'''fsl'''512<br />
| lossy'''TAK'''<br />
|-<br />
! [[WavPack]]<br />
| '''Yes'''<br />
| --'''blocksize'''=512<br />
| lossy'''WV'''<br />
|-<br />
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]<br />
| '''Yes'''<br />
| &mdash;<br />
| lossy'''WMALSL'''<br />
|-<br />
! [[Apple Lossless]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Lossless Audio|LA]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Monkey's Audio]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[OptimFROG]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Wikipedia:TTA (codec)|TTA]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|}<br />
<br />
* Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name.<br />
<br />
<br />
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &mdash; so-called "Bit Shifting" &mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.<br />
<br />
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.<br />
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.<br />
===Important note===<br />
'''NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the "Encoder Parameters" in the table above to the command line of the lossless codec in question.'''<br />
===Bonus feature===<br />
Another, possibly not obvious, feature of lossyWAV is that the processed output can be "transcoded" from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.<br />
<br />
==Using lossyWAV==<br />
===Application settings===<br />
<pre><br />
lossyWAV 1.2.0, Copyright (C) 2007,2008,2009 Nick Currie. Copyleft.<br />
<br />
This program is free software: you can redistribute it and/or modify it under<br />
the terms of the GNU General Public License as published by the Free Software<br />
Foundation, either version 3 of the License, or (at your option) any later<br />
version.<br />
<br />
This program is distributed in the hope that it will be useful,but WITHOUT ANY<br />
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A<br />
PARTICULAR PURPOSE. See the GNU General Public License for more details.<br />
<br />
You should have received a copy of the GNU General Public License along with<br />
this program. If not, see <http://www.gnu.org/licenses/>.<br />
<br />
Usage : lossyWAV <input wav file> <options><br />
<br />
Example : lossyWAV musicfile.wav<br />
<br />
Quality Options:<br />
<br />
-I, --insane highest quality output, suitable for transcoding;<br />
-E, --extreme high quality output, also suitable for transcoding;<br />
-S, --standard default quality output, considered to be transparent;<br />
-P, --portable good quality output for DAP use, not fully transparent.<br />
-Z, --zero lowest quality preset, probably contains artifacts.<br />
<br />
Standard Options:<br />
<br />
-C, --correction write correction file for processed WAV file; default=off.<br />
-f, --force forcibly over-write output file if it exists; default=off.<br />
-h, --help display help.<br />
-L, --longhelp display extended help.<br />
-M, --merge merge existing lossy.wav and lwcdf.wav files.<br />
-o, --outdir <t> destination directory for the output file(s).<br />
-v, --version display the lossyWAV version number.<br />
-w, --writetolog create (or add to) lossyWAV.log in the output directory.<br />
<br />
Special thanks go to:<br />
<br />
David Robinson for the publication of his lossyFLAC method, guidance, and<br />
the motivation to implement his method as lossyWAV.<br />
<br />
Horst Albrecht for ABX testing, valuable support in tuning the internal<br />
presets, constructive criticism and all the feedback.<br />
<br />
Sebastian Gesemann for the noise shaping coefficients and help in using them<br />
in the lossyWAV noise shaping implementation.<br />
<br />
Matteo Frigo and for the excellent libfftw3-3.dll contained in the FFTW<br />
Steven G Johnson distribution (v3.2.1 or v3.2.2).<br />
<br />
Mark G Beckett for the Delphi unit that provides an interface to the<br />
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.<br />
<br />
Don Cross for the Complex-FFT algorithm originally used.</pre><br />
<br />
===Example drag 'n' drop batch file===<br />
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. <br />
<pre>@echo off<br />
:repeat<br />
if %1.==. goto end<br />
if exist %1 flac -d %1 --stdout --silent|lossywav - --stdout --standard --stdinname %1|flac - -b 512 -o "%~dpn1.lossy.flac" --silent && tag --fromfile %1 "%~dpn1.lossy.flac"<br />
shift<br />
goto repeat<br />
:end</pre><br />
<br />
===lossyWAV and FFTW===<br />
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.<br />
<br />
===lossyWAV with WINE===<br />
The cause of lossyWAV's WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).<br />
<br />
===Example [[foobar2000]] converter settings===<br />
lossyFLAC settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.flac<br />
Parameters: /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\flac - -b 512 -5 -f -o%d<br />
Format is : lossless or hybrid<br />
Highest BPS mode supported: 24 </pre><br />
<br />
lossyTAK settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.tak<br />
Parameters : /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\takc -e -p2m -fsl512 -ihs - %d<br />
Format is: lossless or hybrid<br />
Highest BPS mode supported: 24</pre><br />
<br />
lossyWV settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.wv<br />
Parameters: /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d<br />
Format is : lossless or hybrid<br />
Highest BPS mode supported: 24</pre><br />
<br />
Enclose the element of the path containing spaces within double quotation marks ("), e.g. C:\"Program Files"\directory_where_executable_is\executable_name. This is a Windows limitation.<br />
<br />
===Example EAC settings===<br />
:''See [[EAC and LossyWAV]].''<br />
<br />
==Frequently asked questions==<br />
*'''Question:''' Why is the ".wav" file extension used?<br />
*'''Answer:''' The ".wav" file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.<br />
<br />
*'''Question:''' Why create a processor which means that I cannot be sure that a lossless file is truly lossless?<br />
*'''Answer:''' Unless one creates the lossless file personally, one can '''never''' be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac<br />
<br />
*'''Question:''' Is it [[Variable Bitrate|VBR]]?<br />
*'''Short answer:''' Yes.<br />
<br />
*'''Question:''' Do I need to re-process to change lossless codecs?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Is it [[transparency|transparent]]?<br />
*'''Short answer:''' At preset --standard, almost certainly.<br />
<br />
*'''Question:''' Is it [[lossless]]?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Will it ever have a [[Constant Bitrate|CBR]] mode?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Why should I use this?<br />
*'''Answer:'''<br />
:*high quality<br />
:*extremely low chance of audible [[artifact]]s<br />
:*reasonable [[bitrate]]s<br />
:*usable with unmodified, established lossless formats.<br />
<br />
==External links==<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]<br />
*[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008<br />
<br />
[[Category:Software]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=LossyWAVLossyWAV2010-07-06T18:33:56Z<p>Canar: /* Example foobar2000 converter settings */ Fixed to return files with valid lengths as opposed to the failed nonsense they were returning otherwise.</p>
<hr />
<div>{{Software Infobox<br />
| name = lossyWAV<br />
| logo =<br />
| screenshot = <br />
| caption = <br />
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]<br />
| stable_release = 1.2.0<br />
| preview_release = <none><br />
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]<br />
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]<br />
| license = [[Wikipedia:GNU General Public License|GNU GPL]]<br />
| website = [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=64666&view=findpost&p=577042 Hydrogenaudio]<br />
}}<br />
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.<br />
lossyWAV's primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.<br />
<br />
==History==<br />
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of samples, therefore utilising the wasted bits feature of the FLAC lossless codec. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]'s) zero), consequently taking advantage of FLAC's detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.<br />
<br />
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.<br />
<br />
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. <br />
<br />
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David's original method, the method itself still very much belongs to its author.<br />
<br />
==Indicative bitrate reduction==<br />
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 & 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds [[Wikipedia:white noise|white noise]] to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. Each sample in the codec-block is then rounded such that the first <bits-to-remove> lsb's are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.<br />
<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
!lossyWAV Test Set (16 bit / 44.1kHz)<br />
!Codec<br />
!lossless<br />
!--insane<br />
!--extreme<br />
!--standard<br />
!--portable<br />
!--zero<br />
|-<br />
!10 Album Test Set<br />
| TAK<br />
| 820 kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
|-<br />
!10 Album Test Set<br />
| FLAC<br />
| 854 kbit/s<br />
| 627 kbit/s<br />
| 544 kbit/s<br />
| 460 kbit/s<br />
| 376 kbit/s<br />
| 288 kbit/s<br />
|-<br />
!10 Album Test Set<br />
| Wavpack<br />
| 852 kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
| ??? kbit/s<br />
|}<br />
<br />
==File identification==<br />
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. ".lossy.flac" would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498559]<br />
<br />
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When "added" to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.<br />
<br />
Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name. Combination names are listed in the "[[LossyWAV#Known supported codecs|known supported codecs]]" section below.<br />
<br />
lossyWAV inserts a variable-length 'fact' chunk into the WAV file immediately after the 'fmt ' chunk. This takes the form:<pre>fact/<size>/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5</pre>Where the version, date & time and user settings are copied. Additionally, if a lossyWAV 'fact' chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.<br />
<br />
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.<br />
<br />
==Quality presets==<br />
*--insane: (-q 10) Highest quality preset, generally considered to be excessive;<br />
*--extreme: (-q 7.5) High quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;<br />
*--standard: (-q 5) Default preset, generally accepted to be transparent;<br />
*--portable: (-q 2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=56129&view=findpost&p=531316]<br />
<br />
All tuning has been performed on quality preset --standard with higher presets being more conservative. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.<br />
<br />
The --altpreset parameter was introduced at 1.2.0 which creates a second quality range using modified internal presets and extends the quality range from -4 to 10 (--quality -4 --altpreset is equivalent to --quality 0 --limit 15159 in the default quality range).<br />
<br />
==Supported input formats==<br />
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).<br />
<br />
==Codec compatibility==<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
!Codec<br />
!Supported<br />
!Encoder parameters<br />
!Combination name<br />
|-<br />
! [[Free Lossless Audio Codec|FLAC]]<br />
| '''Yes'''<br />
| -'''5''' -'''b''' 512 --'''keep-foreign-metadata'''<br />
| lossy'''FLAC'''<br />
|-<br />
! [[Lossless Predictive Audio Compression|LPAC]]<br />
| '''Yes'''<br />
| -'''b'''512<br />
| lossy'''LPAC'''<br />
|-<br />
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]<br />
| '''Yes'''<br />
| -'''l''' -'''n'''512<br />
| lossy'''ALS'''<br />
|-<br />
! [[TAK]]<br />
| '''Yes'''<br />
| -'''fsl'''512<br />
| lossy'''TAK'''<br />
|-<br />
! [[WavPack]]<br />
| '''Yes'''<br />
| --'''blocksize'''=512<br />
| lossy'''WV'''<br />
|-<br />
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]<br />
| '''Yes'''<br />
| &mdash;<br />
| lossy'''WMALSL'''<br />
|-<br />
! [[Apple Lossless]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Lossless Audio|LA]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Monkey's Audio]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[OptimFROG]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|-<br />
! [[Wikipedia:TTA (codec)|TTA]]<br />
| No<br />
| &mdash;<br />
| &mdash;<br />
|}<br />
<br />
* Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name.<br />
<br />
<br />
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &mdash; so-called "Bit Shifting" &mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.<br />
<br />
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.<br />
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.<br />
===Important note===<br />
'''NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the "Encoder Parameters" in the table above to the command line of the lossless codec in question.'''<br />
===Bonus feature===<br />
Another, possibly not obvious, feature of lossyWAV is that the processed output can be "transcoded" from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.<br />
<br />
==Using lossyWAV==<br />
===Application settings===<br />
<pre><br />
lossyWAV 1.2.0, Copyright (C) 2007,2008,2009 Nick Currie. Copyleft.<br />
<br />
This program is free software: you can redistribute it and/or modify it under<br />
the terms of the GNU General Public License as published by the Free Software<br />
Foundation, either version 3 of the License, or (at your option) any later<br />
version.<br />
<br />
This program is distributed in the hope that it will be useful,but WITHOUT ANY<br />
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A<br />
PARTICULAR PURPOSE. See the GNU General Public License for more details.<br />
<br />
You should have received a copy of the GNU General Public License along with<br />
this program. If not, see <http://www.gnu.org/licenses/>.<br />
<br />
Usage : lossyWAV <input wav file> <options><br />
<br />
Example : lossyWAV musicfile.wav<br />
<br />
Quality Options:<br />
<br />
-I, --insane highest quality output, suitable for transcoding;<br />
-E, --extreme high quality output, also suitable for transcoding;<br />
-S, --standard default quality output, considered to be transparent;<br />
-P, --portable good quality output for DAP use, not fully transparent.<br />
-Z, --zero lowest quality preset, probably contains artifacts.<br />
<br />
Standard Options:<br />
<br />
-C, --correction write correction file for processed WAV file; default=off.<br />
-f, --force forcibly over-write output file if it exists; default=off.<br />
-h, --help display help.<br />
-L, --longhelp display extended help.<br />
-M, --merge merge existing lossy.wav and lwcdf.wav files.<br />
-o, --outdir <t> destination directory for the output file(s).<br />
-v, --version display the lossyWAV version number.<br />
-w, --writetolog create (or add to) lossyWAV.log in the output directory.<br />
<br />
Special thanks go to:<br />
<br />
David Robinson for the publication of his lossyFLAC method, guidance, and<br />
the motivation to implement his method as lossyWAV.<br />
<br />
Horst Albrecht for ABX testing, valuable support in tuning the internal<br />
presets, constructive criticism and all the feedback.<br />
<br />
Sebastian Gesemann for the noise shaping coefficients and help in using them<br />
in the lossyWAV noise shaping implementation.<br />
<br />
Matteo Frigo and for the excellent libfftw3-3.dll contained in the FFTW<br />
Steven G Johnson distribution (v3.2.1 or v3.2.2).<br />
<br />
Mark G Beckett for the Delphi unit that provides an interface to the<br />
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.<br />
<br />
Don Cross for the Complex-FFT algorithm originally used.</pre><br />
<br />
===Example drag 'n' drop batch file===<br />
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. <br />
<pre>@echo off<br />
:repeat<br />
if %1.==. goto end<br />
if exist %1 flac -d %1 --stdout --silent|lossywav - --stdout --standard --stdinname %1|flac - -b 512 -o "%~dpn1.lossy.flac" --silent && tag --fromfile %1 "%~dpn1.lossy.flac"<br />
shift<br />
goto repeat<br />
:end</pre><br />
<br />
===lossyWAV and FFTW===<br />
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.<br />
<br />
===lossyWAV with WINE===<br />
The cause of lossyWAV's WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).<br />
<br />
===Example [[foobar2000]] converter settings===<br />
lossyFLAC settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.flac<br />
Parameters: /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\flac - -b 512 -5 -f -o%d<br />
Format is : lossless or hybrid<br />
Highest BPS mode supported: 24 </pre><br />
<br />
lossyTAK settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.tak<br />
Parameters : /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\takc -e -p2m -fsl512 -ihs - %d<br />
Format is: lossless or hybrid<br />
Highest BPS mode supported: 24</pre><br />
<br />
lossyWV settings:<pre>Encoder: C:\Windows\System32\cmd.exe<br />
Extension : lossy.wv<br />
Parameters: /d /c C:\"Program Files"\bin\lossywav %s --standard --silent --stdout|<br />
C:\"Program Files"\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d<br />
Format is : lossless or hybrid<br />
Highest BPS mode supported: 24</pre><br />
<br />
There is a known problem within foobar2000 (although more likely to do with cmd.exe itself) when running an executable within the cmd.exe command line from a path which includes spaces. The suggested fix for this is to enclose the element of the path which contains spaces within double quotation marks ("), e.g. C:\"Program Files"\directory_where_executable_is\executable_name<br />
<br />
===Example EAC settings===<br />
:''See [[EAC and LossyWAV]].''<br />
<br />
==Frequently asked questions==<br />
*'''Question:''' Why is the ".wav" file extension used?<br />
*'''Answer:''' The ".wav" file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.<br />
<br />
*'''Question:''' Why create a processor which means that I cannot be sure that a lossless file is truly lossless?<br />
*'''Answer:''' Unless one creates the lossless file personally, one can '''never''' be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac<br />
<br />
*'''Question:''' Is it [[Variable Bitrate|VBR]]?<br />
*'''Short answer:''' Yes.<br />
<br />
*'''Question:''' Do I need to re-process to change lossless codecs?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Is it [[transparency|transparent]]?<br />
*'''Short answer:''' At preset --standard, almost certainly.<br />
<br />
*'''Question:''' Is it [[lossless]]?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Will it ever have a [[Constant Bitrate|CBR]] mode?<br />
*'''Short answer:''' No.<br />
<br />
*'''Question:''' Why should I use this?<br />
*'''Answer:'''<br />
:*high quality<br />
:*extremely low chance of audible [[artifact]]s<br />
:*reasonable [[bitrate]]s<br />
:*usable with unmodified, established lossless formats.<br />
<br />
==External links==<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]<br />
*[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008<br />
----<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008<br />
<br />
[[Category:Software]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:Canar:hurrUser:Canar:hurr2010-07-03T06:14:54Z<p>Canar: </p>
<hr />
<div>Fort Knox Five - The Brazilian Hipster</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-15T01:38:52Z<p>Canar: /* foo_texttools now-playing spam */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%[/[%disc%.]%tracknumber%]$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
01:38, 15 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T21:55:43Z<p>Canar: /* standard properties fields */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%/[%disc%.]%tracknumber%$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T21:55:04Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%/[%disc%.]%tracknumber%$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 21:55, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T21:54:44Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) [%date%:]%album%/[%disc%.]%tracknumber%$if(%genre%, $get(SEP) %genre%$if(%style%,/$meta_sep(style,/)))$if($or(%publisher%,%catalog number%), $get(SEP) [[%reissue date%:]%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T21:53:13Z<p>Canar: /* standard properties fields */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Reissue Date=REISSUE DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:09:29Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster. Signed so anyone can see when the last mod time was.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:09:02Z<p>Canar: /* capitalization and normalization */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
[[User:Canar|Canar]] 20:09, 14 June 2010 (UTC)<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:08:27Z<p>Canar: /* standard properties fields */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:08:12Z<p>Canar: /* foo_texttools now-playing spam */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
[[User:Canar|Canar]] 20:08, 14 June 2010 (UTC)<br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:02:13Z<p>Canar: /* capitalization and normalization */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T20:02:03Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
==capitalization and normalization==<br />
This is not exhaustive nor canonical; sometimes it will decapitalize things that I think should be capitalized. Furthermore, due to the nuances of $replace, using this in a masstagger script successfully means running data through it twice.<br />
<code>$replace($caps2(%title%), A , a , An , an , The , the , And , and , But , but , Or , or , Nor , nor , At , at , By , by , For , for , From , from , In , in , Into , into , Of , of , Off , off , On , on , Onto , onto , Out , out , Over , over , To , to , Up , up , With , with , As , as , & , and )</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-14T19:46:08Z<p>Canar: /* foo_texttools now-playing spam */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) $if($and(%original date%,%date%),%original date%:,[%date%:])%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])$if($and(%original date%,%date%),%date%)</code><br />
<br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-13T21:37:21Z<p>Canar: /* foobar2000 configuration strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) %date%:%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
==standard properties fields==<br />
<code>Album Artist=ALBUM ARTIST;Artist Name=ARTIST;Country=COUNTRY;Album Title=ALBUM;Date=DATE;Original Release Date=ORIGINAL DATE;Publisher=PUBLISHER;Catalog Number=CATALOG NUMBER;Disc Number=DISCNUMBER;Total Discs=TOTALDISCS;Track Number=TRACKNUMBER;Total Tracks=TOTALTRACKS;Vinyl Track=VINYLTRACK;Media=MEDIATYPE;Track Title=TITLE;Featuring=FEATURING;Genre=GENRE;Style=STYLE;Discogs Release ID=DISCOGS_RELEASE_ID</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-13T21:34:51Z<p>Canar: /* foobar2000 title formatting strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 configuration strings=<br />
A bunch of random stuff I keep stored to make setup faster.<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) %date%:%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-13T21:28:09Z<p>Canar: /* foobar2000 title formatting strings */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 title formatting strings=<br />
==foo_texttools now-playing spam==<br />
<code>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) %date%:%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</code><br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:Canar:foo_texttools_np_spamUser:Canar:foo texttools np spam2010-06-13T21:26:39Z<p>Canar: New page: $puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) %date%:%album%/[%di...</p>
<hr />
<div>$puts(sep,$select($add($mod($crc32(%playback_time%%title%),14),1),⇌,∿,▶,★,☮,☢,☠,☣,♩,♪,♫,♬,❤,⁂))/me $get(SEP) "%title%" by %artist% $get(SEP) %date%:%album%/[%disc%.]%tracknumber% $get(SEP) %genre%$if(%style%,/$meta_sep(style,/))$if($or(%publisher%,%catalog number%), $get(SEP) [%catalog number%]$if($and(%catalog number%,%publisher%),@)[%publisher%])</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-06-13T21:26:03Z<p>Canar: </p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=foobar2000 title formatting strings=<br />
[[User:Canar:foo_texttools np spam]]<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:Foobar2000Foobar2000:Foobar20002010-04-24T22:17:38Z<p>Canar: </p>
<hr />
<div>{{notitle}}<br />
<br />
The foobar2000 Wiki<br />
<br />
{{Software Infobox|<br />
|name = foobar2000<br />
|logo = [[Image:foobar2000 Logo.png|48px]]<br />
|screenshot = [[Image:Foobar2000-1.0-default-ui.png|250px]]<br />
|caption = Screenshot of foobar2000 v1.0 using the default user interface<br />
|maintainer = Peter Pawlowski<br />
|stable_release = 1.0.2.1<br />
|preview_release = <br />
|operating_system = Windows<br />
|use = Media Player<br />
|license = Proprietary, BSD<br />
|website = [http://www.foobar2000.org/ www.foobar2000.org]<br />
}}<br />
<br />
'''foobar2000''' is an advanced freeware audio player for the Windows platform. Some of the basic features include full unicode support, ReplayGain support and native support for several popular audio formats.<br />
<br />
'''The latest stable version is:''' [http://www.foobar2000.org/download v1.0.2.1]<br />
<br />
== Platforms ==<br />
<br />
foobar2000 has been written specifically for the Windows platform and there are no plans to port it to any others. However, while not officially supported, it is known to run on [http://www.hydrogenaudio.org/forums/index.php?showtopic=54933 Linux] and [http://www.hydrogenaudio.org/forums/index.php?showtopic=77261 Mac OS X] through Wine and WineBottler, respectively.<br />
<br />
== Features ==<br />
* Powerful open component architecture allowing third-party developers to extend functionality of the player, including the ability to fully replace the user interface.<br />
* Full Unicode support: File names, user interface, tagging, etc.<br />
* [[Replay Gain]] support: Both playback and writing ReplayGain information to file tags.<br />
* [[Gapless]] playback.<br />
* Advanced [[tagging]] capabilities - through built-in [[foobar2000:Properties|Properties dialog]] and various optional tagging-related components.<br />
* Built-in [[foobar2000:Preferences:Media Library|Media Library]] functionality.<br />
** Intuitive [[foobar2000:Query syntax|query syntax]] for searching the Media Library.<br />
** [[foobar2000:Autoplaylist|Autoplaylist]] support: Generate dynamically updating playlists based on queries.<br />
* [[foobar2000:Preferences:General:Keyboard Shortcuts|Customizable keyboard shortcuts]].<br />
* Support for transcoding all supported audio formats using the [[Foobar2000:Converter|Converter component]] (requires external commandline encoder executables for different output formats).<br />
* [[Secure_ripping|Secure]] [[foobar2000:Ripping CDs|CD ripping]].<br />
* Streaming support.<br />
* Efficient handling of large playlists.<br />
* [[foobar2000:Components/Default_user_interface_%28foo_ui_std%29|User interface]] with simple configuration to create even complex layouts quickly and easily.<br />
* Highly customizable display of track information using [[foobar2000:Titleformat_Introduction|title formating scripts]].<br />
<br />
== Supported Audio Formats ==<br />
Native Support ("out-of-the-box"):<br />
* [[MP1]], [[MP2]], [[MP3]], [[MP4]], [[Musepack]], [[AAC]], [[Ogg Vorbis]], [[FLAC]] / Ogg FLAC, [[Speex]], [[WavPack]], [[WAV]], [[AIFF]], [[AU|AU/SND]], [[CDDA]], [[WMA]], [[Matroska]].<br />
<br />
Supported through optional components:<br />
* [[TTA]], [[Monkey's Audio]], [[ALAC]], [[MOD]], [[SPC]], [[Shorten]], [[OptimFROG]], [[AC3]], [[DTS]], [[PSF]], [[NSF]], [[XID]], [[XA]], [[MMS]], [[RSTP]], [[TAK]], [[AMR]], etc.<br />
<br />
In addition, foobar2000 can also play music directly from compressed ZIP and without requiring the user to extract the files prior to playing. More archive formats supported through additional components: [http://kode54.foobar2000.org/ JMA], [http://kode54.foobar2000.org/ LHA].<br />
<br />
== Using foobar2000 ==<br />
* [http://www.foobar2000.org/FAQ foobar2000 FAQ]<br />
* [[foobar2000:components|foobar2000 Components]]<br />
* [[foobar2000:Directories|foobar2000 Directories]]<br />
* [[foobar2000:Encouraged Tag Standards|foobar2000 Encouraged Tag Standards]]<br />
* [[foobar2000:FAQ|foobar2000 FAQ (unofficial)]]<br />
* [http://wiki.hydrogenaudio.org/index.php?title=Category:Foobar2000_Guides foobar2000 Guides (category)]<br />
* [http://wiki.hydrogenaudio.org/index.php?title=Category:Foobar2000_Preferences foobar2000 Preferences (category)]<br />
=== Technical Information ===<br />
* [[foobar2000:ID3 Tag Mapping|ID3 Tag Mapping]]<br />
<br />
=== Specific Guides ===<br />
* [[foobar2000:Preferences|Preferences Dialog]]<br />
* [[foobar2000:Properties|Tag editing: the Properties dialog]]<br />
* [[foobar2000:Titleformat Introduction|Introduction to titleformat scripts]]<br />
* [[foobar2000:Titleformat Reference|Titleformat Reference]] - Quick-Reference for fields and functions<br />
* [[foobar2000:Query syntax|Query Syntax]] - Details of Syntax for querying metadata.<br />
* [[foobar2000:File operations|File operations dialog]] - Move, copy, rename, and delete files from within foobar2000<br />
* [[foobar2000:Commandline Guide|Commandline Usage]]<br />
<br />
=== External Guides ===<br />
* [http://foobar2000.audiohq.de/ Frank Bicking's German-language guide].<br />
* [http://foobar2000.xrea.jp/ fb2k Wiki Page] for Japanese users.<br />
* [http://winamp2foobar.blogspot.com Winamp To Foobar Guide] with information relevant for general users also.<br />
<br />
== Important Links ==<br />
=== Official Site ===<br />
* [http://www.foobar2000.org foobar2000.org: Homepage]<br />
* [http://www.foobar2000.org/download foobar2000.org: Download]<br />
* [http://www.foobar2000.org/components foobar2000.org: Components]<br />
<br />
=== Community ===<br />
* [http://forums.foobar2000.org/ Official foobar2000 forum]<br />
* [http://foobar-users.de/ German Support Forum]<br />
* [http://foobar2000.pl/ Polish Support Forum]<br />
* [http://www.fforum.ru/index.php?showforum=59 Russian-language forum]<br />
* [http://www.foobar2000.ru/forum/ Another Russian-language forum]<br />
<br />
=== Appearance ===<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61333 Default UI .fth Thread] Fast way to clone another's DUI Configuration.<br />
* [[foobar2000:Preferences:Columns UI/Appearance|Columns UI appearance customization guides]]<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=31027 Columns UI configurations]<br />
<br />
[[Category:foobar2000]]<br />
[[Category:Media Players|foobar2000]]<br />
[[Category:CD Rippers]]<br />
[[Category:Software]]<br />
[[Category:Tag editors]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:Foobar2000Foobar2000:Foobar20002010-04-24T22:17:13Z<p>Canar: </p>
<hr />
<div>{{notitle}}<br />
<br />
The foobar2000 Wiki<br />
<br />
'''foobar2000''' is an advanced freeware audio player for the Windows platform. Some of the basic features include full unicode support, ReplayGain support and native support for several popular audio formats.<br />
<br />
'''The latest stable version is:''' [http://www.foobar2000.org/download v1.0.2.1]<br />
<br />
== Platforms ==<br />
<br />
foobar2000 has been written specifically for the Windows platform and there are no plans to port it to any others. However, while not officially supported, it is known to run on [http://www.hydrogenaudio.org/forums/index.php?showtopic=54933 Linux] and [http://www.hydrogenaudio.org/forums/index.php?showtopic=77261 Mac OS X] through Wine and WineBottler, respectively.<br />
<br />
== Features ==<br />
* Powerful open component architecture allowing third-party developers to extend functionality of the player, including the ability to fully replace the user interface.<br />
* Full Unicode support: File names, user interface, tagging, etc.<br />
* [[Replay Gain]] support: Both playback and writing ReplayGain information to file tags.<br />
* [[Gapless]] playback.<br />
* Advanced [[tagging]] capabilities - through built-in [[foobar2000:Properties|Properties dialog]] and various optional tagging-related components.<br />
* Built-in [[foobar2000:Preferences:Media Library|Media Library]] functionality.<br />
** Intuitive [[foobar2000:Query syntax|query syntax]] for searching the Media Library.<br />
** [[foobar2000:Autoplaylist|Autoplaylist]] support: Generate dynamically updating playlists based on queries.<br />
* [[foobar2000:Preferences:General:Keyboard Shortcuts|Customizable keyboard shortcuts]].<br />
* Support for transcoding all supported audio formats using the [[Foobar2000:Converter|Converter component]] (requires external commandline encoder executables for different output formats).<br />
* [[Secure_ripping|Secure]] [[foobar2000:Ripping CDs|CD ripping]].<br />
* Streaming support.<br />
* Efficient handling of large playlists.<br />
* [[foobar2000:Components/Default_user_interface_%28foo_ui_std%29|User interface]] with simple configuration to create even complex layouts quickly and easily.<br />
* Highly customizable display of track information using [[foobar2000:Titleformat_Introduction|title formating scripts]].<br />
<br />
== Supported Audio Formats ==<br />
Native Support ("out-of-the-box"):<br />
* [[MP1]], [[MP2]], [[MP3]], [[MP4]], [[Musepack]], [[AAC]], [[Ogg Vorbis]], [[FLAC]] / Ogg FLAC, [[Speex]], [[WavPack]], [[WAV]], [[AIFF]], [[AU|AU/SND]], [[CDDA]], [[WMA]], [[Matroska]].<br />
<br />
Supported through optional components:<br />
* [[TTA]], [[Monkey's Audio]], [[ALAC]], [[MOD]], [[SPC]], [[Shorten]], [[OptimFROG]], [[AC3]], [[DTS]], [[PSF]], [[NSF]], [[XID]], [[XA]], [[MMS]], [[RSTP]], [[TAK]], [[AMR]], etc.<br />
<br />
In addition, foobar2000 can also play music directly from compressed ZIP and without requiring the user to extract the files prior to playing. More archive formats supported through additional components: [http://kode54.foobar2000.org/ JMA], [http://kode54.foobar2000.org/ LHA].<br />
<br />
== Using foobar2000 ==<br />
* [http://www.foobar2000.org/FAQ foobar2000 FAQ]<br />
* [[foobar2000:components|foobar2000 Components]]<br />
* [[foobar2000:Directories|foobar2000 Directories]]<br />
* [[foobar2000:Encouraged Tag Standards|foobar2000 Encouraged Tag Standards]]<br />
* [[foobar2000:FAQ|foobar2000 FAQ (unofficial)]]<br />
* [http://wiki.hydrogenaudio.org/index.php?title=Category:Foobar2000_Guides foobar2000 Guides (category)]<br />
* [http://wiki.hydrogenaudio.org/index.php?title=Category:Foobar2000_Preferences foobar2000 Preferences (category)]<br />
=== Technical Information ===<br />
* [[foobar2000:ID3 Tag Mapping|ID3 Tag Mapping]]<br />
<br />
=== Specific Guides ===<br />
* [[foobar2000:Preferences|Preferences Dialog]]<br />
* [[foobar2000:Properties|Tag editing: the Properties dialog]]<br />
* [[foobar2000:Titleformat Introduction|Introduction to titleformat scripts]]<br />
* [[foobar2000:Titleformat Reference|Titleformat Reference]] - Quick-Reference for fields and functions<br />
* [[foobar2000:Query syntax|Query Syntax]] - Details of Syntax for querying metadata.<br />
* [[foobar2000:File operations|File operations dialog]] - Move, copy, rename, and delete files from within foobar2000<br />
* [[foobar2000:Commandline Guide|Commandline Usage]]<br />
<br />
=== External Guides ===<br />
* [http://foobar2000.audiohq.de/ Frank Bicking's German-language guide].<br />
* [http://foobar2000.xrea.jp/ fb2k Wiki Page] for Japanese users.<br />
* [http://winamp2foobar.blogspot.com Winamp To Foobar Guide] with information relevant for general users also.<br />
<br />
== Important Links ==<br />
=== Official Site ===<br />
* [http://www.foobar2000.org foobar2000.org: Homepage]<br />
* [http://www.foobar2000.org/download foobar2000.org: Download]<br />
* [http://www.foobar2000.org/components foobar2000.org: Components]<br />
<br />
=== Community ===<br />
* [http://forums.foobar2000.org/ Official foobar2000 forum]<br />
* [http://foobar-users.de/ German Support Forum]<br />
* [http://foobar2000.pl/ Polish Support Forum]<br />
* [http://www.fforum.ru/index.php?showforum=59 Russian-language forum]<br />
* [http://www.foobar2000.ru/forum/ Another Russian-language forum]<br />
<br />
=== Appearance ===<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61333 Default UI .fth Thread] Fast way to clone another's DUI Configuration.<br />
* [[foobar2000:Preferences:Columns UI/Appearance|Columns UI appearance customization guides]]<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=31027 Columns UI configurations]<br />
<br />
{{Software Infobox|<br />
|name = foobar2000<br />
|logo = [[Image:foobar2000 Logo.png|48px]]<br />
|screenshot = [[Image:Foobar2000-1.0-default-ui.png|250px]]<br />
|caption = Screenshot of foobar2000 v1.0 using the default user interface<br />
|maintainer = Peter Pawlowski<br />
|stable_release = 1.0.2.1<br />
|preview_release = <br />
|operating_system = Windows<br />
|use = Media Player<br />
|license = Proprietary, BSD<br />
|website = [http://www.foobar2000.org/ www.foobar2000.org]<br />
}}<br />
<br />
[[Category:foobar2000]]<br />
[[Category:Media Players|foobar2000]]<br />
[[Category:CD Rippers]]<br />
[[Category:Software]]<br />
[[Category:Tag editors]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-04-19T22:04:49Z<p>Canar: /* foobar2000 bugs */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-04-19T22:04:35Z<p>Canar: /* foobar2000 bugs */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:Canar:hurrUser:Canar:hurr2010-03-16T19:32:58Z<p>Canar: New page: hurr</p>
<hr />
<div>hurr</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=User:CanarUser:Canar2010-03-16T19:32:48Z<p>Canar: /* Incomplete nonsense */</p>
<hr />
<div>=foobar2000 ideas=<br />
*alter fft window function for less-aliased spectrogram (completed)<br />
*move folders along with files (completed)<br />
*close and re-open files for file moves like is done for tag edits (asked, denied)<br />
*multiple tab orientations for tabs ui element (asked, pending)<br />
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)<br />
*auto-detect optimal bit-depth (asked, pending)<br />
*open containing folder on files in .zips (asked, pending)<br />
<br />
=foobar2000 bugs=<br />
==Playback statistics-based autoplaylist order bug (won't fix)==<br />
#Take an autoplaylist containing "%play_count% IS 0".<br />
#Play a song for less than a minute.<br />
#Hit next.<br />
#Listen to all of the next song.<br />
#The song you skipped will be played!<br />
<br />
=Incomplete nonsense=<br />
[[User:Canar:Titleformat syntax guide]]<br />
[[User:Canar:hurr]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:ComponentsFoobar2000:Components2009-11-27T16:38:20Z<p>Canar: </p>
<hr />
<div>{{fb2k}}<br />
This page contains most foobar2000 components available at time of [http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&action=history last update].<br />
=1st Party Components= <br />
The following components are created and maintained by the foobar2000 development team. Support for them should be asked for in the [http://www.hydrogenaudio.org/forums/index.php?showforum=29 Support forum]<br />
===Included in Installer===<br />
[[Image:Optional_features.png|thumb|The Optional Features screen of the fb2k Installer]]<br />
In addition to foobar2000's core functionality, the following components can be installed as needed, in the Optional Features section of the installer.<br />
*Audio CD Support (foo_cdda) Adds Support for [[CD|Audio CD]] Playback<br />
*Album List (foo_albumlist) Gives quick access to Media Library Content with customizable tree view<br />
*Standard DSPs (foo_dsp_std) Equalizer, resampler, advanced limiter, hard limiter, stereo to 4 channel upmixer and a couple other effects<br />
*ReplayGain Scanner (foo_rgscan) advanced solution for volume matching<br />
*[[Foobar2000:Converter|Converter (foo_converter)]] Converts files to WAV or any other formats using command line encoders<br />
*[[Foobar2000:File_operations|File Operations (foo_fileops)]] Renames, moves, or copies files according to specified patterns<br />
*Archive Reader (foo_unpack) Adds support for playing files directly from ZIP RAR and GZIP archives<br />
*ABX Comparator (foo_abx) [[ABX]] component for double blind listening tests<br />
*[[Foobar2000:Components_0.9/Freedb_Tagger_(foo_freedb2)|freedb Tagger (foo_freedb2)]] Tag retrieving support from freedb service for any set of files (mp3,mpc,flac,...-not only CDDA tracks)<br />
<br />
===Additional Components===<br />
These components are provided as separate downloads, found on the [http://www.foobar2000.org/components/index.html Additional Components page]. <br />
* [[Foobar2000:Components 0.9/Monkey's Audio Decoder (foo_input_monkey)|Monkey's Audio Decoder (foo_input_monkey)]] Adds decoding support for Monkey's Audio files (.[[APE]]) as well as APE Link files (.[[APL]]).<br />
*[[Foobar2000:Components 0.9/ALAC Decoder (foo_input_alac)|ALAC Decoder (foo_input_alac)]] Apple Lossless ([[ALAC]]) decoder (has known stability issues: random crashes during decoding)<br />
*[[Foobar2000:Components 0.9/Playback Statistics (foo playcount)|Playback Statistics (foo playcount)]] Collects playback statistics for your Media Library content.<br />
*[[Foobar2000:Components 0.9/Binary Comparator (foo_bitcompare)|Binary Comparator (foo_bitcompare)]] Performs binary comparison between two or more tracks and reports differences.<br />
* [[Foobar2000:Components 0.9/File Integrity Verifier (foo_verifier)|File Integrity Verifier (foo_verifier)]] Checks specified media files for decoding errors.<br />
* [[Foobar2000:Components 0.9/Quick Tagger (foo_quicktag)| Quick Tagger (foo_quicktag)]] Adds customizable context menu commands for quickly setting tag fields to preconfigured values<br />
* [[Foobar2000:Components 0.9/Text Tools (foo texttools)|Text Tools (foo_texttools)]] Adds customizable context menu commands for copying information about the selected tracks to Windows Clipboard. <br />
* [[Foobar2000:Components 0.9/Decoding Speed Test (foo_benchmark)|Decoding Speed Test (foo_benchmark)]] Measures decoding speed of audio files.<br />
* [[Foobar2000:Components 0.9/Convolve (foo_convolve)|Impulse response convolver (foo_convolve)]] Allows arbitrary effects to be captured and used inside foobar2000. ([http://www.hydrogenaudio.org/forums/index.php?showtopic=10611 More Info])<br />
* [[Foobar2000:Components 0.9/Kernel Streaming Output (foo_out_ks)|Kernel Streaming support (foo_out_ks)]] Allows bit-exact playback bypassing Windows kernel mixer.<br />
* [[Foobar2000:Components 0.9/ASIO Output (foo_out_asio)|ASIO output support (foo_out_asio)]] Adds ASIO output support.<br />
* [[Foobar2000:Components 0.9/WASAPI output support (foo_out_wasapi)|WASAPI output support (foo_out_wasapi)]] Adds Windows Audio Session API exclusive mode output support, allowing bit-exact output and muting all other sounds on Windows Vista systems.<br />
* [[Foobar2000:Components 0.9/Audio CD Writer (foo_burninate)|Audio CD Writer (foo_burninate)]] CD burning support (requires Nero to be installed on your system.)<br />
* [[Foobar2000:Components 0.9/Masstagger (foo_masstag)|Masstagger (foo_masstag)]]<br />
<br />
=3rd Party Components=<br />
The following components are created and maintained by 3rd-party authors, using foobar2000's [http://www.foobar2000.org/SDK.html SDK]. Support for these components should be asked for in the [http://www.hydrogenaudio.org/forums/index.php?showforum=33 3rd Party Plugins forum] Asking for help directly in the component's thread is usually preferred.<br />
== User Interfaces ==<br />
<br />
=== Columns UI ===<br />
[[Foobar2000:Components 0.9/Columns UI (foo_ui_columns)|Columns UI (foo_ui_columns)]] Very popular alternate interface for foobar2000 based on a columns and panel layout.<br />
<br />
Columns UI introduced components with [[#Panels|panel]] capability which extend the user interface.<br />
<br />
===GFX===<br />
[[Foobar2000:Components 0.9/GFX window (foo_ui_gfx)|GFX window (foo_ui_gfx)]] is a skinnable user interface, which doesn't only focus on looking good but tries to be as fast and "lightweight" as possible, too. It uses lua as scripting language. Two skins are included in the archive. Development of this component appears to have ceased.<br />
<br />
== User Interface Addons ==<br />
=== UI Elements ===<br />
The [[Foobar2000:Components 0.9/Default user interface (foo_ui_std)|default user interface (foo_ui_std)]], included in the standard installation package, can be extended with the following component(s):<br />
* [[Foobar2000:Components 0.9/Facets (foo_facets)|Facets (foo_facets)]] Flexible media library viewer based on linked lists.<br />
=== Panels ===<br />
Panels extend the functionality of Columns UI / Panels UI components.<br />
* [[Foobar2000:Components 0.9/Album Art Panel (foo_uie_albumart)|Album Art Panel (foo_uie_albumart)]] Panel to display album art.<br />
* [[Foobar2000:Components 0.9/Album Art Panel for matroska (foo_uie_albumart_mka)|Album Art Panel for matroska (foo_uie_albumart_mka)]] Albumart mod to read matroska covers.<br />
* [[Foobar2000:Components 0.9/Album List Panel (foo_uie_albumlist)|Album List Panel (foo_uie_albumlist)]] Displays the database in a treeview using customizable sorting methods (by genre, artist, directory, etc.)<br />
* [[Foobar2000:Components 0.9/Bookmarks (foo_uie_bookmarks)|Bookmarks (foo_uie_bookmarks)]] Help you remember positions in songs.<br />
* [[Foobar2000:Components 0.9/Console (foo_uie_console)|Console (foo_uie_console)]] Panel version of console. Displays diagnostic messages. Requires Columns UI 0.1.3 beta 1 or newer.<br />
* [[Foobar2000:Components 0.9/Cover Flow (foo_bubble_coverflow)|Cover Flow (foo_bubble_coverflow)]] The plugin can work either as a UI panel or a standalone window (found in the view menu), and a fullscreen mode for both.<br />
* [[Foobar2000:Components 0.9/Dockable Panels (foo_dockable_panels)|Dockable Panels (foo_dockable_panels)]] It allows you to create windows that host columns ui panels as floating windows that can be attached to the side of the main foobar2000 window or each other.<br />
* [[Foobar2000:Components 0.9/Egoh Spectrum Analyser (foo_uie_vis_egoh)|Egoh Spectrum Analyser (foo_uie_vis_egoh)]] Similar to the default spectrum analyser.<br />
* [[Foobar2000:Components 0.9/Explorer Panel (foo_uie_explorer)|Explorer Panel (foo_uie_explorer)]] Displays a treeview of selected disks/folders.<br />
* [[Foobar2000:Components 0.9/Grouped playlist panel (foo_uie_pvt)|Grouped playlist panel (foo_uie_pvt)]] Preview version of columns playlist with grouping.<br />
* [[Foobar2000:Components 0.9/Lyrics Panel (foo_uie_lyrics_panel)|Lyrics Panel (foo_uie_lyrics_panel)]] Display lyrics stored in file tags. <br />
* [[Foobar2000:Components 0.9/Music Browser (foo_browser)|Music Browser (foo_browser)]] Panels for Browsing Library, Similar to iTunes. No longer updated. Most have better success CUI's in-built [[Foobar2000:Components_0.9/Columns_UI_%28foo_ui_columns%29#Playlist_filters|filters]].<br />
* [[Foobar2000:Components 0.9/Playlist Dropdown (foo_uie_playlists_dropdown)|Playlist Dropdown (foo_uie_playlists_dropdown)]] Displays the playlist in a dropdown menu.<br />
* [[Foobar2000:Components 0.9/Playlist Tree (foo_playlist_tree)|Playlist Tree (foo_playlist_tree)]] Tree based media library with many available customizations.<br />
* [[Foobar2000:Components 0.9/Power Panels (foo_uie_powerpanels)|Power Panels (foo_uie_powerpanels)]] Seekbar and volume transparent version panels. Useful for theming.<br />
* [[Foobar2000:Components 0.9/ProjectM Visualisation Panel (foo_uie_vis_projectM)|ProjectM Visualisation Panel (foo_uie_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.<br />
* [[Foobar2000:Components 0.9/Queue Manager (foo_uie_queuemanager)|Queue Manager (foo_uie_queuemanager)]] It provides a window that shows the queue's contents and allows you to delete parts of them or clear the whole queue.<br />
* [[Foobar2000:Components 0.9/Quicksearch Panel (foo_uie_quicksearch)|Quicksearch Panel (foo_uie_quicksearch)]] Search toolbar that sends results to a playlist.<br />
* [[Foobar2000:Components 0.9/Shpeck (foo_vis_shpeck)|Shpeck (foo_vis_shpeck)]] Winamp visualisation plugins wrapper.<br />
* [[Foobar2000:Components 0.9/Tabs (foo_uie_tabs)|Tabs (foo_uie_tabs)]] Tabs allows you to break Pauli's Exclusion principle by placing multiple panels in the same position at the same time.<br />
* [[Foobar2000:Components 0.9/Typefind (foo_typefind)|Typefind (foo_typefind)]] Provides some in-line search facilities.<br />
* [[Foobar2000:Components 0.9/WmpVis (foo_uie_wmpvis)|<span id="wmpvis">WmpVis (foo_uie_wmpvis)</span>]] Uses the visualizations from WMP.<br />
* [[Foobar2000:Components 0.9/WSH panel (foo_uie_wsh_panel)|WSH panel (foo_uie_wsh_panel)]] Windows script host panel.<br />
<br />
==DSP==<br />
* [[Foobar2000:Components 0.9/4Front Headphones (foo_dsp_headphones9)|4Front Headphones (foo_dsp_headphones9)]] Effects for headphone users.<br />
* [[Foobar2000:Components 0.9/ATSurround Processor (foo_dsp_atsurround)|ATSurround Processor (foo_dsp_atsurround)]] Reproduces surround sound information present in many stereo audio material and more.<br />
* [[Foobar2000:Components 0.9/BS2D (foo_dsp_bs2p)|BS2D (foo_dsp_bs2p)]] Improves headphone listening of regular hi-fi stereo records.<br />
* [[Foobar2000:Components 0.9/Voice Cut Filter (foo_dsp_centercut)|Voice Cut Filter (foo_dsp_centercut)]] Voice cut filter.<br />
* [[Foobar2000:Components 0.9/Channel Mixer (foo_channel_mixer)|Channel Mixer (foo_channel_mixer)]] Up/down mix to/from 1-6 channels.<br />
* [[Foobar2000:Components 0.9/Crossfeed (foo_dsp_crossfeed)|Crossfeed (foo_dsp_crossfeed)]] Filters the music to help reduce fatigue caused by listening to music with headphones.<br />
* [[Foobar2000:Components 0.9/Dolby Headphone Wrapper (foo_dsp_dolbyhp)|Dolby Headphone Wrapper (foo_dsp_dolbyhp)]] Dolby Headphone engine DLL.<br />
* [[Foobar2000:Components 0.9/Dolby Pro Logic II wrapper (foo_dsp_pl2)|Dolby Pro Logic II wrapper (foo_dsp_pl2)]] Dolby Pro Logic II engine DLL (dll not included).<br />
* [[Foobar2000:Components 0.9/Downmix (foo_dsp_downmix)|Downmix (foo_dsp_downmix)]] Downmix [[AC3]], [[DTS]], etc. to stereo.<br />
* [[Foobar2000:Components 0.9/FreeSurround (foo_dsp_fsurround)|FreeSurround (foo_dsp_fsurround)]] It takes Dolby Surround / Pro Logic I/II encoded stereo music and decodes it into 5.1 sound. <br />
* [[Foobar2000:Components 0.9/George Yohng's VST Wrapper (foo_dsp_vstwrap)|George Yohng's VST Wrapper (foo_dsp_vstwrapper)]] Enables VST plug-ins.<br />
* [[Foobar2000:Components 0.9/LPCM - Delta-PCM Converter (foo_dsp_delta)|LPCM - Delta-PCM Converter (foo_dsp_delta)]] Noise sharpening filter.<br />
* [[Foobar2000:Components 0.9/OSS/3D (foo_dsp_oss3ddsp)|OSS/3D (foo_dsp_oss3ddsp)]] Audio enhancement. SHAREWARE.<br />
* [[Foobar2000:Components 0.9/Post-track Silence (foo_dsp_silence)|Post-track Silence (foo_dsp_silence)]] Inserts a configurable amount of silence after each track to help external devices like MiniDisc players to sync track changes.<br />
* [[Foobar2000:Components 0.9/Secret Rabit Code Resampler (foo_dsp_src9)|Secret Rabit Code Resampler (foo_dsp_src9)]] Mega Nerd's Secret Rabbit Code sample rate converter.<br />
* [[Foobar2000:Components 0.9/Skip Silence (foo_dsp_skip_silence)|Skip Silence (foo_dsp_skip_silence)]] Detect and skip silence.<br />
* [[Foobar2000:Components 0.9/Soundtouch (foo_dsp_soundtouch)|Soundtouch (foo_dsp_soundtouch)]] Ajust pitch, tempo and rate.<br />
* [[Foobar2000:Components 0.9/SSRC (foo_dsp_ssrc)|SSRC (foo_dsp_ssrc)]] Sample rate converter.<br />
* [[Foobar2000:Components 0.9/Stereo Convolver (foo_dsp_stereoconv)|Stereo Convolver (foo_dsp_stereoconv)]] Take stereo audio and convolve each channel with two impulse responses.<br />
* [[Foobar2000:Components 0.9/Surround Pan (foo_dsp_span)|Surround Pan (foo_dsp_span)]] WYSIWYG Surround panning.<br />
* [[Foobar2000:Components 0.9/Tube Sound (foo_dsp_tube)|Tube Sound (foo_dsp_tube)]] Emulate tube sound.<br />
* [[Foobar2000:Components 0.9/VLevel (foo_dsp_vlevel)|VLevel (foo_dsp_vlevel)]] Dynamic compressor which amplifies the quiet parts of music.<br />
* [[Foobar2000:Components 0.9/VST Host (foo_dsp_vst)|VST Host (foo_dsp_vst)]] Adds support to Virtual Studio Technology audio interface.<br />
* [[Foobar2000:Components 0.9/Winamp DSP Bridge (foo_dsp_winamp)|Winamp DSP Bridge (foo_dsp_winamp)]] Allows the use of Winamp DSPs.<br />
* [[Foobar2000:Components 0.9/XOver (foo_dsp_xover)|XOver (foo_dsp_xover)]] Implements this digital crossover to achieve active multi-amplification.<br />
<br />
==Input==<br />
===Music codecs===<br />
* [[Foobar2000:Components 0.9/AC3 Decoder (foo_ac3)|AC3 Decoder (foo_ac3)]] Decodes Dolby Digital lossy audio compression technologies format ([[AC3]]).<br />
* [[Foobar2000:Components 0.9/DTS Decoder (foo_dts)|DTS Decoder (foo_dts)]] Decodes Digital Theater Systems ([[DTS]]) audio format.<br />
* [[Foobar2000:Components 0.9/MIDI Synthesizer Host (foo_midi)|MIDI Synthesizer Host (foo_midi)]] <br />
* [[Foobar2000:Components 0.9/OptimFROG Lossless Audio Decoder (foo_input_ofr)|OptimFROG Lossless Audio Decoder (foo_input_ofr)]] Decodes both the Lossless ([[OptimFROG|OFR]]) and DualStream (OFS) audio format.<br />
* [[Foobar2000:Components 0.9/Shorten Decoder (foo_input_shorten)|Shorten Decoder (foo_input_shorten)]] Decodes Shorten ([[SHN]]) audio format.<br />
* [[Foobar2000:Components 0.9/SPDIF Passthrough (foo_spdif)|SPDIF Passthrough (foo_spdif)]] SPDIF passthrough for [[AC3]] and [[DTS]] files.<br />
* [[Foobar2000:Components 0.9/TTA Audio Decoder (unofficial) (foo_input_tta)|TTA Audio Decoder (unofficial) (foo_input_tta)]] Decodes True Audio ([[TTA]]) audio format.<br />
<br />
===Other codecs===<br />
* [[Foobar2000:Components 0.9/ADPCM Decoder (foo_adpcm)|ADPCM Decoder (foo_adpcm)]] Plays GameCube ADPCM audio data and some. (DSP, ADP, GCM, HPS, STM, AST, etc.)<br />
* [[Foobar2000:Components 0.9/Another Slight Atari Player (foo_asap)|Another Slight Atari Player (foo_asap)]] [http://asap.sourceforge.net/ ASAP] is a player/converter of Atari 8-bit music for modern computers. It provides high-quality, identical to the popular Atari800 emulator, emulation of the POKEY sound chip and the 6502 processor.<br />
* [[Foobar2000:Components 0.9/DUMB Module Decoder (foo_dumb)|DUMB Module Decoder (foo_dumb)]] Plays your favorite module files, and then some. (MOD, S3M, XM, IT, 669, PTM, PSM, MTM, UMX)<br />
* [[Foobar2000:Components 0.9/Game Audio Decoder (foo_game)|Game Audio Decoder (foo_game)]] Plays Westwood's audio (AUD), Sierra's sounds (SFX/AUD), Core design's cd audio (cdaudio.WAD), Funcom's music (ISS), Rome Total War's IDX (.IDX/DAT), Timegate's format (RWD), EA's Pathfinder audio (MUS) and Ben Gerard's music (SC68).<br />
* [[Foobar2000:Components 0.9/Game Emu Player (foo_gep)|Game Emu Player (foo_gep)]] Plays several emulation formats. (GBS, NSF, SPC, GYM, HES, VGM)<br />
* [[Foobar2000:Components 0.9/Ganbatte! (foo_ganbatte)|Ganbatte! (foo_ganbatte)]] Plays compressed Edlib (.d00, .d01) files.<br />
* [[Foobar2000:Components 0.9/Lunar 2 PCM Decoder (foo_lunar2)|Lunar 2 PCM Decoder (foo_lunar2)]] Plays audio files found on the original Lunar: Eternal Blue CD (RP*.PCM).<br />
* [[Foobar2000:Components 0.9/M1 Decoder (foo_m1)|M1 Decoder (foo_m1)]] Plays arcade/pinball game sound.<br />
* [[Foobar2000:Components 0.9/MDX Decoder (foo_input_mdx)|MDX Decoder (foo_input_mdx)]] MDX is a MIDI-like format that is designed to be played using the X68000's FM synthesizer.<br />
* [[Foobar2000:Components 0.9/NSF Decoder (foo_input_nsf)|NSF Decoder (foo_input_nsf)]] NSF file is a sound data file containing instructions for the Nintendo Entertainment System (NES) sound hardware.<br />
* [[Foobar2000:Components 0.9/PSF Decoder (foo_psf)|PSF Decoder (foo_psf)]] Plays PlayStation Sound Format (PSF) files.<br />
* [[Foobar2000:Components 0.9/Reverse (foo_input_reverse)|Reverse (foo_input_reverse)]] Play music in reverse.<br />
* [[Foobar2000:Components 0.9/SID Player 2 (foo_sid)|SID Player 2 (foo_sid)]] Sound chip of Commodore's CBM-II, Commodore 64 and Commodore 128 home computers.<br />
* [[Foobar2000:Components 0.9/S98 Decoder (foo_input_s98)|S98 Decoder (foo_input_s98)]] Sound format for the NEC PC-98 microcomputer.<br />
* [[Foobar2000:Components 0.9/USF Decoder (foo_input_usf)|USF Decoder (foo_input_usf)]] Decodes sound data ripped directly from a Nintendo 64 video game.<br />
<br />
==Visualisation==<br />
* [[Foobar2000:Components 0.9/Peakmeter (foo uie peakmeter)|Peakmeter for Columns UI (foo_uie_peakmeter)]] Displays the level for each channel in dB.<br />
* [[Foobar2000:Components 0.9/Peakmeter Spectrum (foo uie vis peakmeter spectrum)|Peakmeter and spectrum analyzer (foo_uie_vis_peakmeter_spectrum)]] Plugin that combines a peakmeter with a spectrum analyzer.<br />
* [[Foobar2000:Components 0.9/ProjectM Visualisation (foo_vis_projectM)|ProjectM Visualisation (foo_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.<br />
* [[Foobar2000:Components 0.9/Shpeck (foo_vis_shpeck)|Shpeck (foo_vis_shpeck)]] Winamp visualisation plugins wrapper.<br />
* [[#wmpvis|WmpVis (foo_uie_wmpvis)]] Uses the visualizations from WMP. ''Panel version only''.<br />
<br />
==Other==<br />
===General===<br />
* [[Foobar2000:Components 0.9/Alarm (foo_alarm)|Alarm (foo_alarm)]] Starts playback at the specified period of time.<br />
* [[Foobar2000:Components 0.9/Channel Usage Visualisation (foo_vis_channelusage)|Channel Usage Visualisation (foo_vis_channelusage)]] Channel Usage Visualisation.<br />
* [[Foobar2000:Components 0.9/Converter (foo converter)|Converter (foo converter)]]<br />
* [[Foobar2000:Components 0.9/EXTM3U Playlist Creater (foo_extm3u)|EXTM3U Playlist Creater (foo_extm3u)]] Allow to save current playlist in the EXTM3U format.<br />
* [[Foobar2000:Components 0.9/Feature Watcher (foo_whatsnew)|Feature Watcher (foo_whatsnew)]] Watches for added or removed features.<br />
* [[Foobar2000:Components 0.9/File Date (foo_filedate)|File Date (foo_filedate)]] Add to file tag date added, accessed, created or modified from context menu entries.<br />
* [[Foobar2000:Components 0.9/HyperIM (foo_2hyperim)|HyperIM (foo_2hyperim)]] Provides 19 media macros.<br />
* [[Foobar2000:Components 0.9/iPod Manager (foo_dop)|iPod Manager (foo_dop)]] Experimental iPod plugin for foobar2000 0.9.2+, currently in alpha version.<br />
* [[Foobar2000:Components 0.9/Logitech G15 LCD Display (foo_g15lcd)|Logitech G15 LCD Display (foo_g15lcd)]] Control the LCD panel on a Logitech G15 keyboard.<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=72720|Logitech G15/G19/Z-10 Display (foo_logitech_lcd)] Customizable visualizations and track info on the LCD panel on a Logitech G15/G19/Z-10.<br />
* [[Foobar2000:Components 0.9/Menu Addons (foo_menu_addons)|Menu Addons (foo_menu_addons)]] Adds a few shortcuts in menu.<br />
* [[Foobar2000:Components 0.9/Open URL (foo_openurl)|Open URL (foo_openurl)]] Adds a context menu item to open URLs from metadata fields in a web browser.<br />
* [[Foobar2000:Components 0.9/Pause On Lock (foo_lock)|Pause On Lock (foo_lock)]] Pauses/unpauses foobar2000 on workstation lock/unlock.<br />
* [[Foobar2000:Components 0.9/Pause on Lock (extended) (foo_lock_ex)|Pause on Lock (extended) (foo_lock_ex)]] Pause playing on workstation lock. Optimized for use with Windows XP/2003.<br />
* [[Foobar2000:Components 0.9/Preview (foo_preview)|Preview (foo_preview)]] Play only part of each track in the playlist.<br />
* [[Foobar2000:Components 0.9/Replaygain Override (foo_rg_trn)|Replaygain Override (foo_rg_trn)]] Allows you to automatically switch between replaygain modes based on specified criteria (e.g. use track based RG for shuffle mode, etc.)<br />
* [[Foobar2000:Components 0.9/Run (foo_run)|Run (foo_run)]] Able you to run a external program with the foobar syntax.<br />
* [[Foobar2000:Components 0.9/Run Commands (foo_runcmd)|Run Commands (foo_runcmd)]] Search and execute menu commands.<br />
* [[Foobar2000:Components 0.9/Scheduler (foo_scheduler)|Scheduler (foo_scheduler)]] Plugin for scheduling actions like play, stop, system shutdown/wake up and many more.<br />
* [[Foobar2000:Components 0.9/Send To Device (foo_sendtodevice)|Send To Device (foo_sendtodevice)]] Add "Send to Device" feature.<br />
* [[Foobar2000:Components 0.9/Shell Link Resolver (foo_lnk)|Shell Link Resolver (foo_lnk)]] Shell link resolver.<br />
* [[Foobar2000:Components 0.9/Timebomb (foo_timebomb)|Timebomb (foo_timebomb)]] Stop playback / exit program after a specified time.<br />
* [[Foobar2000:Components 0.9/Unpacker for JMA archive (foo_unpack_jma)|Unpacker for JMA archive (foo_unpack_jma)]]<br />
* [[Foobar2000:Components 0.9/Unpacker for LHA archive (foo_unpack_lha)|Unpacker for LHA archive (foo_unpack_lha)]]<br />
* [[Foobar2000:Components 0.9/Winamp API Emulator (foo_winamp_spam)|Winamp API Emulator (foo_winamp_spam)]] Designed to create a fake Winamp 1.x window which will act as a wrapper between applications written to use the Winamp API and foobar2000.<br />
<br />
===Lyrics===<br />
* [[Foobar2000:Components 0.9/Gasazip Lyrics (foo_gasazip)|Gasazip Lyrics (foo_gasazip)]] Search for lyrics and displays it in external window.<br />
* [[Foobar2000:Components 0.9/LyricsDB (foo_lyricsdb)|LyricsDB (foo_lyricsdb)]] Search lyrics basing on song's artist title and sometimes album.<br />
* [[Foobar2000:Components 0.9/Mini Lyrics (foo_ui_minilyrics)|Mini Lyrics (foo_ui_minilyrics)]] Lyrics viewer for synchronizing and displaying lyrics of the currently playing song.<br />
* [[Foobar2000:Components 0.9/Sakura Script Lyrics (foo_sstp_lyrics)|Sakura Script Lyrics (foo_sstp_lyrics)]] Plays a SAKURA script lyrics to a SSP client.<br />
<br />
===Notifier===<br />
* [[Foobar2000:Components 0.9/AMIP Wrapper (foo_amipwrapper)|AMIP Wrapper (foo_amipwrapper)]] Complete now-playing plug-in for mIRC, PIRCH, Klient, Bersirc, other IRC and Mail clients, supporting full player control from mIRC, playlist search, clipboard integration, HTTP, dynamic image signatures, etc.<br />
* [[Foobar2000:Components 0.9/Listening To (foo_listeningto)|Listening To (foo_listeningto)]] Sends NowPlaying information to Miranda IM.<br />
* [[Foobar2000:Components 0.9/Miranda IM Notifier (foo_mim_notify)|Miranda IM Notifier (foo_mim_notify)]] Sends configurable information about the current playing song to Miranda-IM and shows popup windows with this info.<br />
* [[Foobar2000:Components 0.9/MSN avatar changer (foo_uie_albumart_msn)|MSN avatar changer (foo_uie_albumart_msn)]] Set currently playing song's album art as avatar.<br />
* [[Foobar2000:Components 0.9/MSN Now Playing (alt) (foo_msnalt)|MSN Now Playing (alt) (foo_msnalt)]] Show the current song as "Now Playing" in MSN and MS Live messenger.<br />
* [[Foobar2000:Components 0.9/On-Screen Display (foo_osd)|On-Screen Display (foo_osd)]] On screen display of track information and volume bar.<br />
* [[Foobar2000:Components 0.9/On-Screen Display GDI (foo_osd_gdiplus)|On-Screen Display GDI (foo_osd_gdiplus)]] Same as foo_osd but uses GDI+ for osd drawing.<br />
* [[Foobar2000:Components 0.9/Pretty Popup (foo_prettypop)|Pretty Popup (foo_prettypop)]] Display a moderately sized popup of song information when a new song plays.<br />
<br />
===Online database===<br />
* [[Foobar2000:Components 0.9/Audioscrobbler (foo_audioscrobbler)|Audioscrobbler (foo_audioscrobbler)]] Audioscrobbler will send the name of every song you play on your computer to Last.fm. This effortlessly populates your profile to play radio you like and make personalized recommendations.<br />
<br />
===Online radio===<br />
* [[Foobar2000:Components 0.9/XM Radio Online Player (foo_xm)|XM Radio Online Player (foo_xm)]] Allow you to listen to XM Radio channels over the Internet by using XM Radio Online.<br />
<br />
===Playlist tools===<br />
* [[Foobar2000:Components 0.9/Audioscrobble Charts (foo_scrobblecharts)|Audioscrobble Charts (foo_scrobblecharts)]] Generate a playlist from an artist's Last.fm chart. It also allows you to sort a selection in the playlist by the artist's charts.<br />
* [[Foobar2000:Components 0.9/Bin Pack (foo_binpack)|Bin Pack (foo_binpack)]] Creates playlists from a list with a maximum length.<br />
* [[Foobar2000:Components 0.9/Command Playlist (foo_cmd_playlist)|Command Playlist (foo_cmd_playlist)]] Add /playlist-activate:"Name" to the foobar command line to activate the named playlist.<br />
* [[Foobar2000:Components 0.9/Cuesheet Creator (foo_cuesheet_creator)|Cuesheet Creator (foo_cuesheet_creator)]] Cuesheet creator.<br />
* [[Foobar2000:Components 0.9/Database Search (foo_dbsearch)|Database Search (foo_dbsearch)]] Database search.<br />
* [[Foobar2000:Components 0.9/Default Video Player (foo_default_videoplayer)|Default Video Player (foo_default_videoplayer)]] Allows you to play your video clips from foobar playlist with default external player.<br />
* [[Foobar2000:Components 0.9/Delete Current (foo_deletecurrent)|Delete Current (foo_deletecurrent)]] Adds a menu item giving the possibility to delete from computer the current playing track.<br />
* [[Foobar2000:Components 0.9/Highlight Playing (foo_highlightplaying)|Highlight Playing (foo_highlightplaying)]] Highlights actual now playing item even when the playlist has been broken.<br />
* [[Foobar2000:Components 0.9/History (foo_history)|History (foo_history)]] Very basic song history.<br />
* [[Foobar2000:Components 0.9/Inactive Tracks (foo_skip)|Inactive Tracks (foo_skip)]] Skips tracks that are marked via a tag as inactive.<br />
* [[Foobar2000:Components 0.9/MeowDB (foo_meowdb)|MeowDB (foo_meowdb)]] Takes the Media Library and outputs the results to a form and uploads it to your server using the cURL library.<br />
* [[Foobar2000:Components 0.9/Navigator (foo_navigator)|Navigator (foo_navigator)]] Advanced history component.<br />
* [[Foobar2000:Components 0.9/Now Playing Simple (foo_np_simple)|Now Playing Simple (foo_np_simple)]] Simple now playing plugin to output formatted string to plain text file.<br />
* [[Foobar2000:Components 0.9/Playback Queue Viewer (foo_pqview)|Playback Queue Viewer (foo_pqview)]] Playback queue viewer.<br />
* [[Foobar2000:Components 0.9/Playlist Bind (foo_playlist_bind)|Playlist Bind (foo_playlist_bind)]] Synchronize playlist with contents of specific directory.<br />
* [[Foobar2000:Components 0.9/Playlist Clear (foo_playlistclear)|Playlist Clear (foo_playlistclear)]] All playlists are cleared at startup.<br />
* [[Foobar2000:Components 0.9/Playlist Manager (foo_playlist_manager)|Playlist Manager (foo_playlist_manager)]] Playlist manager.<br />
* [[Foobar2000:Components 0.9/Playlist Name Enhenced (foo_playlist_name_enhanced)|Playlist Name Enhenced (foo_playlist_name_enhanced)]] Appends automatically playlist info ("items / length") to all playlist names.<br />
* [[Foobar2000:Components 0.9/Playlist Tools (foo_utils)|Playlist Tools (foo_utils)]] Provides various general commands.<br />
* [[Foobar2000:Components 0.9/Playlist Tools for Matroska (foo_utils_mka)|Playlist Tools for Matroska (foo_utils_mka)]] Provides various general commands.<br />
* [[Foobar2000:Components 0.9/Queue Manager (foo_queuemanager)|Queue Manager (foo_queuemanager)]] It provides a window that shows the queue's contents and allows you to delete parts of them or clear the whole queue. ''Non-ColumnUI obsolete version, try panel version instead.''<br />
* [[Foobar2000:Components 0.9/Randomized Playlist Entry (foo_random)|Randomized Playlist Entry (foo_random)]] Randomized playlist entry.<br />
* [[Foobar2000:Components 0.9/Rating (foo_rating)|Rating (foo_rating)]] Display an icon in the systray with a tooltip popup from which you can choose a rating between 1 and 5 for the currently playing file.<br />
* [[Foobar2000:Components 0.9/Remove Played (foo_removeplayed)|Remove Played (foo_removeplayed)]] It removes tracks from the playlist once they've been played.<br />
* [[Foobar2000:Components 0.9/Track Finder (foo_trackfinder)|Track Finder (foo_trackfinder)]] Displays a context menu that lets you quickly find songs based on their album title or artists name.<br />
* [[Foobar2000:Components 0.9/Track Position (foo_trackpos)|Track Position (foo_trackpos)]] Provides a new context menu item "place after current playing", that allows you to place any tracks after the current playing one in the playing playlist.<br />
* [[Foobar2000:Components 0.9/XSPF (foo_xspf)|XSPF (foo_xspf)]] Adds XSPF support. XSPF is an open, XML based playlist format.<br />
<br />
===Playback Statistics===<br />
* [[Foobar2000:Components 0.9/Playback Statistics Custom (foo_playback_custom)|Playback Statistics Custom (foo_playback_custom)]] Stores playback statistics in tags like foo_playcount_mod, with claimed faster response, and uses foo_custominfo db if file is unavailable for writing.<br />
* [[Foobar2000:Components 0.9/Play Count Mod (foo_playcount_mod)|Play Count Mod (foo_playcount_mod)]] Unofficial playcount modded to supress the update tag popups.<br />
<br />
===Remote control===<br />
* [[Foobar2000:Components 0.9/Advanced Controls (foo_advancedcontrols)|Advanced Controls (foo_advancedcontrols)]] Control all the playback functions from icons in the Taskbar Notification Area (play, pause, next, previous, open)<br />
* [[Foobar2000:Components 0.9/Bluetooth Control (foo_bluetooth_ctrl)|Bluetooth Control (foo_bluetooth_ctrl)]] Control your favourite music player using your favourite Symbian-based bluetooth enabled phone.<br />
* [[Foobar2000:Components 0.9/COM Automation Server (foo_comserver2)|COM Automation Server (foo_comserver2)]] Allows controlling foobar2000 through COM Automation<br />
* [[Foobar2000:Components 0.9/Control Server (foo_controlserver)|Control Server (foo_controlserver)]] Acts as a server to control Foobar2000. Connect with a telnet client and control it using ASCII commands.<br />
* [[Foobar2000:Components 0.9/DDE Control (foo_ddecontrol)|DDE Control (foo_ddecontrol)]] Control foobar remotelly with DDE interprocess communication (interface in japanese only).<br />
* [[Foobar2000:Components 0.9/HTTP Writer (foo_write_http)|HTTP Writer (foo_write_http)]] It's TCP/IP server that listens on a specified port for incoming requests such as play, stop, etc.<br />
* [[Foobar2000:Components 0.9/Joystick Control (foo_joystick_control)|Joystick Control (foo_joystick_control)]] Control foobar2000 from a joystick/gamepad.<br />
* [[Foobar2000:Components 0.9/Minibar2k (foo_Minibar2k)|Minibar2k (foo_Minibar2k)]] Control Foobar2k from your PDA (PocketPC based).<br />
* [[Foobar2000:Components 0.9/Remote Control (foo_remotecontrol)|Remote Control (foo_remotecontrol)]] Adds support to Melloware Intelliremote software which claims to work with Creative remote control (Soundblaster Live!, Audigy, Extigy, Audigy ZS and Soundblaster X-Fi.)<br />
* [[Foobar2000:Components 0.9/RM-1800 (foo_mr1800)|RM-1800 (foo_mr1800)]] Adds support of Creative X-Fi's remote (RM-1800).<br />
* [[Foobar2000:Components 0.9/RM-X Media Edition (foo_rmx)|RM-X Media Edition (foo_rmx)]] Yet another plugin for remote control. SHAREWARE.<br />
* [[Foobar2000:Components 0.9/Titlebar (foo_managedWrapper)|Titlebar (foo_managedWrapper)]] Create a personal title bar that shows the currently playing song on the top of the screen all the time. It supports custom-made skins.<br />
* [[Foobar2000:Components 0.9/WinLIRC Client (foo_lirc)|WinLIRC Client (foo_lirc)]] Control Foobar from a remote control.<br />
<br />
===Tagging===<br />
* [[Foobar2000:Components 0.9/Custom Info (foo_custominfo)|Custom Info (foo_custominfo)]] Allows you to set info fields for files without modifying them. <br />
* [[Foobar2000:Components 0.9/Discogs (foo_discogs)|Discogs (foo_discogs)]] Retrieve info and album art from Discogs.com database.<br />
* [[Foobar2000:Components 0.9/Freedb Tagger (foo_freedb2)|Freedb Tagger (foo_freedb2)]] Freedb.org tagger. Now included with official foobar2000 installers.<br />
* [[Foobar2000:Components 0.9/Live Show Tagger (foo_tradersfriend)|Live Show Tagger (foo_tradersfriend)]] Live show tagger.<br />
<br />
==Links==<br />
* [http://www.foobar2000.org/components Official third-party components site]<br />
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=42730&st=0 List of components] from earlier versions not yet ported to 0.9.x.<br />
<br />
* [[foobar2000:foobar2000|Go back to Main Page]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:Converter_(before_1.1)Foobar2000:Converter (before 1.1)2009-10-13T14:57:24Z<p>Canar: /* Output file formats */</p>
<hr />
<div>The Converter component is included with foobar2000 installers. It allows you to convert your audio files to other file formats. The converter was significantly updated for fb2k 0.9.6 which added the ability to use presets.<br />
<br />
Note that the Converter component is required for [[foobar2000:Ripping CDs|ripping CDs with foobar2000]].<br />
<br />
= Supported file formats=<br />
==Source file formats==<br />
The converter supports any formats playable by your foobar2000 configuration, natively or through optional input components.<br />
<br />
==Output file formats==<br />
* [[WAV]] - natively<br />
* [[AIFF]] - natively<br />
* [[AU|AU/SND]] - natively<br />
* [[FLAC]] - commandline encoder executable (FLAC.exe) required<br />
* [[MP3]] - using [[LAME]] - commandline encoder executable (LAME.exe) required<br />
* [[AAC|AAC/MP4]] - using [[Nero AAC]] encoder - commandline encoder executable (neroAacEnc.exe) required<br />
* [[Ogg Vorbis]] - commandline encoder executable (OggEnc.exe) required<br />
* [[WavPack]] - commandline encoder executable (wavpack.exe) required<br />
<br />
More output file formats can be added using [[Foobar2000:Preferences:converter:cusom presets|"custom" encoder mode]] with other commandline encoders. Archives containing converter executables can be found at http://rarewares.org (Rarewares).<br />
<br />
= Converter dialog =<br />
==Presets==<br />
Central to the converter dialog is the ability to create and quickly use converter presets. These presets allow you to quickly convert files through the Converter's context menu item, without having to access the dialog each time.<br />
<br />
'''Load'''<br /><br />
This button applies the selected preset's settings to the rest of the dialog<br />
<br />
'''Save'''<br /><br />
This button save the current dialog's settings to the selected preset. To create a new preset, simply edit the name in the lefthand box to the new preset's name.<br />
<br />
'''Delete'''<br /><br />
This button deletes the selected preset.<br />
<br />
'''Important!: All changes made to presets are immediately applied and cannot be undone with the Cancel button at the bottom of the dialog.'''<br />
<br />
==Output tab==<br />
The Output tab contains the settings relevant to the encoding format, location and names of your output files.<br /><br />
[[Image:Foobar2000-Converter_Setup.png]]<br />
===Output format===<br />
The Output format section allows you to select the type of format you would like the converter to output. The drop down allows you to select from your preselected format presets. The [...] button will take you to the [[Foobar2000:Preferences:Converter|Converter preferences page]] where you can specify or configure more format presets.<br />
===Output path ===<br />
The Output path section allows you to specify the base folder for where the files are to be located. Title formatting for naming subfolders is not allowed here but is available below in the Name format boxes.<br />
===When a file already exists===<br />
Should be self-explaining.<br />
===Output files === <br />
The Output files section allows you to name and select which type of file you would like to save your output as. The preview section on the right gives live previews of what the files will look like.<br />
<br />
'''Convert each track to an individual file'''<br /><br />
Should be self-explaining. The Name format section allows you to create subfolders with title formatting by using the \ character. <br />
<br />
'''Generate multi-track files'''<br /><br />
May create multiple files, depending on the naming pattern, and, depending on the target format, creates embedded or external cue sheets, chapters, or other means that allow you to access individual tracks in the created files.<br />
<br />
'''Merge all tracks into one output file'''<br /><br />
Creates only a single file, without any means to jump to individual tracks later.<br />
<br />
= See Also =<br />
[[Foobar2000:Preferences:Converter|Preferences: Converter]]<br />
<br />
[[Foobar2000:Ripping CDs|Ripping CDs with foobar2000]]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Bypassing_Windows_MixerBypassing Windows Mixer2009-05-07T20:59:21Z<p>Canar: </p>
<hr />
<div>== Impact on audio quality ==<br />
Quality gains are questionable at least. In most cases the differences are irrelevant unless the output is digitally captured back and needs to be bit-exact for further processing.<br />
<br />
== Impact on latency ==<br />
Bypassing Windows Mixer typically results in lower latency between decoding/rendering and output, though Windows Vista allows low latency playback through WASAPI shared mode without bypassing the mixer.<br />
<br />
Note that low latency playback is relevant to real-time processing and editing only. It's completely useless for music playback; in fact, higher latency is better in this case as it gives better protection against glitching from buffer underruns.<br />
<br />
== Player support ==<br />
foobar2000 can bypass Windows Mixer using [[Foobar2000:Components 0.9#Output|optional output components]]. Other players also support techniques for bypassing Windows mixer.<br />
<br />
== Pros ==<br />
* Full control over what gets delivered to your soundcard drivers.<br />
* Full control over what gets delivered to your soundcard, but only when your configuration ensures preventing other software from playing sounds at the same time (e.g. by using WASAPI exclusive mode).<br />
<br />
== Cons ==<br />
* Forfeits advantages of modern Windows audio pipeline: audio stream formats that aren't natively supported by your audio hardware will fail to play. You're likely to get errors with:<br />
** Mono streams.<br />
** Multichannel (more than two channels) streams on a soundcard with stereo output only.<br />
** Uncommon channel configurations.<br />
** Uncommon sample rates.<br />
To workaround these issues, you'll have to use additional DSPs such as resampler or "convert mono to stereo" in foobar2000.<br />
* Interacting with soundcard drivers directly rather than letting Windows Mixer do it will often expose soundcard driver bugs that can't be triggered otherwise and lead to system-wide instability. There have been countless documented cases of otherwise stable soundcard drivers causing BSODs when using KS, ASIO or WASAPI. This happens because:<br />
** KS and WASAPI: while these output methods rely on the same driver code as playing sounds through Windows Mixer, various quirks such as buffer sizes are different; drivers tend to make unsafe assumptions that whoever is invoking them behaves exactly as Windows Mixer does; these drivers would also stop working correctly after OS updates that change these behaviors.<br />
** ASIO: many major hardware vendors release massively buggy ASIO drivers and suspend any work on their drivers as soon as they get some subset of ASIO software working with their product without obvious problem symptoms.<br />
<br />
== Alternate solutions ==<br />
* Windows Vista lets you control what data format gets sent to your soundcard so you can get rid of the resampling step without bypassing the mixer by setting mixer's output sample rate matching the sample rate of what you play (44100Hz for CD-sourced material).</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/ASIO_Output_(foo_out_asio)Foobar2000:Components/ASIO Output (foo out asio)2009-05-07T20:57:06Z<p>Canar: typo</p>
<hr />
<div>{{stub}}<br />
= Description =<br />
<br />
Adds ASIO output support. Useful for rare/obscure soundcards that provide ASIO drivers but no regular Windows audio drivers, as well as for bit-exact output on any soundcards that provide ASIO drivers.<br />
<br />
= Installation and Usage =<br />
# Install the ASIO component from the [http://www.foobar2000.org/components foobar2000 components site].<br />
# Configure it - ''Preferences / Playback / Output / ASIO Virtual Devices''. This step is necessary because there's no automatic way to detect which ASIO device channel corresponds to which speaker; additionally, multiple identical soundcards present in your system are presented as different ASIO channel groups provided by one driver rather than different drivers.<br />
# Set your [[Foobar2000:Preferences:Output|output device]] to one of configured ASIO devices.<br />
<br />
= Links =<br />
* [[Bypassing Windows Mixer]]<br />
* [http://www.foobar2000.org/components Official Website]</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:File_Operations_(foo_fileops)Foobar2000:File Operations (foo fileops)2009-03-19T02:49:11Z<p>Canar: /* Usage Tips */</p>
<hr />
<div>{{fb2k}}<br />
<br />
The '''file operations''' dialog box allows you to copy, move, rename, and delete files from within foobar2000. The key benefits of using the file operations component (as opposed to using Windows Explorer) are:<br />
* Based on title formatting.<br />
* The Media Library and playlists are automatically updated to reflect the change.<br />
* Data from the [[Foobar2000:Components_0.9/Playback_Statistics_(foo_playcount)|official playback statistics component]] is preserved when moving files.<br />
** Note: If the files are moved to a folder which is not monitored by the Media Library, they will be removed from the Media Library and playback statistics will also be lost.<br />
<br />
=Usage=<br />
The optional component <tt>foo_fileops</tt> is required. To install this component, run the foobar2000 installer and check Optional features > Tools > File Operations. Once installed, you can right-click a group of tracks in the playlist and File Operations will appear in the context menu.<br />
<br />
[[Image:Foobar-Fileops-1.png|center]]<br />
<br />
* '''Operation''': Copy, rename, or move the files. Note that some options below will be disabled depending on the selected operation.<br />
* '''Presets''': See below.<br />
* '''Destination Folder''': The root destination folder. You cannot use title formatting in this field, and the folder must already exist.<br />
* '''File Name Pattern''': Specify how the files will be named, and indicate any subfolders (separated by '\'). Title formatting is allowed in this field, and any subfolder which does not exist will be created under the destination folder. The '...' button allows you to select from a set of preset patterns.<br />
<br />
* '''Options''':<br />
** Copy/Move Entire Source Folder Content: Useful when you have supplementary files such as cover art in the music folder.<br />
** Remove Empty Source Folders<br />
<br />
* '''Preview''': Shows the potential results of the file operation.<br />
<br />
<br />
==Presets==<br />
[[Image:Foobar-Fileops-2.png|center]]<br />
<br />
Presets allow you to save the current settings in the File Operations Setup dialog. Once a preset is created, it is not only accessible from the setup dialog, but from the context menu under File Operations. The latter opens a preview/confirmation dialog (shown above), and you can access the detailed setup menu with the 'More...' button.<br />
<br />
==Usage Tips==<br />
* Beginning in 0.9.6.4, symbols which are invalid in folder and file names such as '''/ \ |:''' get replaced by a '''-''', '''*''' gets replaced by '''x''', '''&quot;''' gets replaced with '''&#039;&#039;''', and '''? < >''' get replaced by an '''_'''.<br />
* You may want to consider using <tt>$ascii()</tt> or <tt>$ansi()</tt> to sanitize the names when applying file operations.</div>Canarhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:File_Operations_(foo_fileops)Foobar2000:File Operations (foo fileops)2009-03-19T02:48:27Z<p>Canar: /* Usage Tips */</p>
<hr />
<div>{{fb2k}}<br />
<br />
The '''file operations''' dialog box allows you to copy, move, rename, and delete files from within foobar2000. The key benefits of using the file operations component (as opposed to using Windows Explorer) are:<br />
* Based on title formatting.<br />
* The Media Library and playlists are automatically updated to reflect the change.<br />
* Data from the [[Foobar2000:Components_0.9/Playback_Statistics_(foo_playcount)|official playback statistics component]] is preserved when moving files.<br />
** Note: If the files are moved to a folder which is not monitored by the Media Library, they will be removed from the Media Library and playback statistics will also be lost.<br />
<br />
=Usage=<br />
The optional component <tt>foo_fileops</tt> is required. To install this component, run the foobar2000 installer and check Optional features > Tools > File Operations. Once installed, you can right-click a group of tracks in the playlist and File Operations will appear in the context menu.<br />
<br />
[[Image:Foobar-Fileops-1.png|center]]<br />
<br />
* '''Operation''': Copy, rename, or move the files. Note that some options below will be disabled depending on the selected operation.<br />
* '''Presets''': See below.<br />
* '''Destination Folder''': The root destination folder. You cannot use title formatting in this field, and the folder must already exist.<br />
* '''File Name Pattern''': Specify how the files will be named, and indicate any subfolders (separated by '\'). Title formatting is allowed in this field, and any subfolder which does not exist will be created under the destination folder. The '...' button allows you to select from a set of preset patterns.<br />
<br />
* '''Options''':<br />
** Copy/Move Entire Source Folder Content: Useful when you have supplementary files such as cover art in the music folder.<br />
** Remove Empty Source Folders<br />
<br />
* '''Preview''': Shows the potential results of the file operation.<br />
<br />
<br />
==Presets==<br />
[[Image:Foobar-Fileops-2.png|center]]<br />
<br />
Presets allow you to save the current settings in the File Operations Setup dialog. Once a preset is created, it is not only accessible from the setup dialog, but from the context menu under File Operations. The latter opens a preview/confirmation dialog (shown above), and you can access the detailed setup menu with the 'More...' button.<br />
<br />
==Usage Tips==<br />
* Beginning in 0.9.6.4, symbols which are invalid in folder and file names such as '''/ \ |:''' get replaced by a '''-''', '''*''' gets replaced by '''x''', '''&quot;''' gets replaced with '''&#039;&#039;''', and '''? < >''' get replaced by an '''_'''. " with &squo;&squo;<br />
* You may want to consider using <tt>$ascii()</tt> or <tt>$ansi()</tt> to sanitize the names when applying file operations.</div>Canar