Foobar2000 est, à l'instar de Winamp, un très bon lecteur MP3. Ce qui le rend différent de ce dernier, c'est son niveau de configuration et les options de lecture qu'il propose.
Sur cette page, et grâce à Kayexalate (grand merci à lui), vous aurez accès à mon fichier de configuration (si votre matériel le permet, vous n'avez qu'à copier directement le .cfg dans votre répertoire Foobar).
Le grand intérêt de Foobar2000 réside dans le "Kernel Stream". Ce mode (si j'ai bien tout compris ;) ) permet de faire "transiter" le son du MP3 directement vers votre carte son, sans passer par une quelconque interprétation de Windows (ce qui est généralement le cas).
Cela permet d'avoir un son d'une meilleure qualité (plus clair), et chez certains utilisateurs de Windows XP, ça permet la suppression de certains grésillements lors de la lecture des fichiers.
Tout d'abord, voici mon fichier foobar2000.cfg pour foobar2000 v0.7 rc1.
Les seules choses que j'ai configuré sur FB2K sont les suivantes :
Voilà en gros pour les seuls réglages techniques effectués.
Voyons maintenant pour les différents scripts utilisés (et réalisés par Kayexalate en grande partie). Ils gèrent pour la plupart d'entre eux l'environnement graphique. Ils tous à mettre dans l'onglet correspondant de la rubrique 'Display/Title formatting'.

//**************************************
// Include vertical Foobar2000 graphic?
// 1=yes, 0=no
$puts(graphic_on,'1')
//**************************************
$if(%_isplaying%,
$puts(col_plno,FFFFFF|FFFFFF)
$puts(col_trno,7EBABE|FFFFFF)
$puts(col_length,0000FF|FFFFFF)
$puts(col_station,FFFFFF|FFFFFF)
$puts(col_title,FFFFFF|FFFFFF)
$puts(col_filename,FFFFFF|FFFFFF)
$puts(col_light,FFFFFF|FFFFFF)
$puts(col_trans_light,FFFFFF|FFFFFF)
$puts(col_trans_dark,1A0000|1A0000)
$if($or(%singletrack%,%various%),
$puts(col_artist,FFFFFF|FFFFFF)
,
$puts(col_artist,55DD00|7EBABE)
)
,
$puts(col_plno,7EBABE|7EBABE)
$puts(col_trno,0055DD|7EBABE)
$puts(col_length,CCCCCC|FFFFFF)
$puts(col_title,CC9922|7EBABE)
$puts(col_filename,7EBABE|7EBABE)
$puts(col_station,2299CC|FFFFFF)
$puts(col_light,808080|808080)
$puts(col_trans_light,808080|808080)
$puts(col_trans_dark,220000|220000)
$if($or(%singletrack%,%various%),
$puts(col_artist,99FF55|7EBABE)
,
$puts(col_artist,55DD00|7EBABE)
)
)
$puts(col_sep,7EBABE|7EBABE)
$puts(col_right_sep,663300|663300)
$puts(col_playing,FFFFFF|FFFFFF)
$puts(col_genre,996600|7EBABE)
$puts(col_date,996600|7EBABE)
$puts(col_album,CC9922|7EBABE)
$puts(col_dark,404040|000000)
$puts(col_disc,0080FF|0080FF)
$puts(col_bonus,808000|808000)
$puts(col_a_gain,505050|505050)
$puts(col_t_gain,808080|808080)
$puts(symb_playing,'>>>>>>')
$puts(symb_a_gain,'³A³')
$puts(symb_t_gain,'³T³')
$puts(text_plno,%_playlist_number%)
$puts(text_station,%station%' ')
$puts(text_bonus,*Bonus Track*)
$puts(text_album,%album%[ %volume%])
$puts(text_disc,[Disc %disc% ][''%discname%''])
$puts(text_filename,%_filename%)
$puts(text_genre,%genre%)
$if(%date%,
$puts(text_date,%date%)
,
$puts(text_date,'ÄÄÄÄ')
)
$if(%various%,
$puts(text_artist,Various Artists)
,
$puts(text_artist,%artist%)
)
$puts(len_date,$len($get(text_date)))
$puts(len_station,$len($get(text_station)))
$puts(len_album,$len($get(text_album)))
$puts(len_disc,$len($get(text_disc)))
$puts(len_artist,$len($get(text_artist)))
$puts(len_filename,$len($get(text_filename)))
$puts(len_genre,$len($get(text_genre)))
$puts(len_divider_point,15)
$puts(len_min,32)
$puts(len_tag,$len($longest($longest($longest($get(text_artist),$get(text_album)),$get(text_disc)),%genre%)))
$if(%singletrack%,
$puts(space,$get(len_min))
,
$puts(space,$ifgreater($get(len_tag),$get(len_min),$get(len_tag),$get(len_min)))
)
$if(%various%,
$puts(len_divider,$sub(80,$add($len(%artist%),$add(3,$add($get(space),$len(%title%))))))
,
$puts(len_divider,$sub(80,$add($get(space),$len(%title%))))
)
$if(%date%,
$puts(text_date,$get(col_date)%date%)
,
$puts(text_date,$get(col_sep)'ÄÄÄÄ')
)
$puts(text_plno,$get(col_plno)$get(text_plno))
$puts(text_bonus,$get(col_bonus)$get(text_bonus))
$puts(text_disc,$get(col_disc)$get(text_disc)$repeat(' ',$sub($get(space),$get(len_disc))))
$puts(symb_playing,$transition($get(symb_playing),$get(col_trans_dark),$get(col_trans_light)))
$puts(text_genre,$get(col_genre)$get(text_genre)$repeat(' ',$sub($get(space),$get(len_genre))))
$puts(text_album,$get(col_album)$get(text_album)$repeat(' ',$sub($get(space),$get(len_album))))
$puts(text_filename,$get(col_filename)$get(text_filename)$repeat(' ',$sub($get(space),$get(len_filename))))
$puts(text_single_artist,$repeat(' ',$add($sub($get(space),$get(len_artist)),1))$get(col_artist)$get(text_artist)' ')
$puts(text_artist,$get(col_artist)$get(text_artist)$repeat(' ',$sub($get(space),$get(len_artist))))
$puts(text_station,$get(col_station)$cut($get(text_station),$get(space))$repeat(' ',$sub($get(space),$get(len_station))))
$puts(text_divider,$get(col_sep)$repeat(Ä,$get(len_divider))$transition($repeat(Ä,$get(len_divider_point)),$get(col_sep),$get(col_trans_dark)))
$puts(text_date,$get(text_date)$transition($repeat(Ä,$get(len_divider_point)),$get(col_sep),$get(col_trans_dark))$repeat(' ',$sub($sub($get(space),$get(len_date)),$get(len_divider_point))))
$puts(plno,$get(col_sep)Ã$get(text_plno)$get(col_sep)´)
$ifgreater(%_playlist_number%,999,,
$puts(plno,$get(col_sep)Ã$get(col_dark)'0'$get(text_plno)$get(col_sep)´)
)
$ifgreater(%_playlist_number%,99,,
$puts(plno,$get(col_sep)Ã$get(col_dark)'00'$get(text_plno)$get(col_sep)´)
)
$ifgreater(%_playlist_number%,9,,
$puts(plno,$get(col_sep)Ã$get(col_dark)'000'$get(text_plno)$get(col_sep)´)
)
$replace(
$if($strcmp($num(%tracknumber%,1),1),
$puts(album,$get(col_sep)Ú$repeat(Ä,$get(space))Ä)
)
$if($strcmp($num(%tracknumber%,1),2),
$puts(album,$get(col_sep)Ã$get(text_artist)' ')
)
$if($strcmp($num(%tracknumber%,1),3),
$puts(album,$get(col_sep)Ã$get(text_album)' ')
)
$if($strcmp($num(%tracknumber%,1),4),
$if($strcmp(0,$get(len_disc)),
$puts(album,$get(col_sep)Ã$get(text_genre)' ')
,
$puts(album,$get(col_sep)Ã$get(text_disc)' ')
)
)
$if($strcmp($num(%tracknumber%,1),5),
$if($strcmp(0,$get(len_disc)),
$puts(album,$get(col_sep)À$get(text_date)' ')
,
$puts(album,$get(col_sep)Ã$get(text_genre)' ')
)
)
$if($strcmp($num(%tracknumber%,1),6),
$if($strcmp(0,$get(len_disc)),
$puts(album,' '$repeat(' ',$get(space))' ')
,
$puts(album,$get(col_sep)À$get(text_date)' ')
)
)
$ifgreater(%tracknumber%,6,
$puts(album,' '$repeat(' ',$get(space))' '),
)
$if(%tracknumber%,,
$if(%artist%,
$puts(album,' '$get(text_artist)' ')
,
$puts(album,' '$get(text_filename)' ')
)
)
$if($and(%artist%,%title%),,
$puts(album,' '$get(text_filename)' ')
)
$if(%station%,
$puts(album,$get(col_sep)-$get(text_station)' ')
)
$if(%singletrack%,
$if($and(%artist%,%title%),
$puts(album,' '$get(text_artist))
,
$puts(album,' '$get(text_filename))
)
)
$ifgreater(%tracknumber%,9,
$puts(tracknumber,$get(col_trno)$num(%tracknumber%,2))
,
$puts(tracknumber,$get(col_dark)0$get(col_trno)$num(%tracknumber%,1))
)
$if($strcmp($num(%tracknumber%,1),1),
$puts(tracknumber,$get(col_sep)Â$get(tracknumber)$get(col_sep)Â)
)
$ifgreater(%tracknumber%,1,
$if(%lasttrack%,
$puts(tracknumber,$get(col_sep)À$get(tracknumber)$get(col_sep)Ù)
,
$puts(tracknumber,$get(col_sep)Ã$get(tracknumber)$get(col_sep)³)
),
)
$if(%tracknumber%,,
$if(%artist%,
$puts(tracknumber,$get(col_sep)' ÄÄ '$get(col_sep))
,
$puts(tracknumber,)
)
)
$if($and(%singletrack%,%tracknumber%),
$puts(tracknumber,$get(col_sep)' ÄÄ '$get(col_sep))
)
$if(%various%,
$puts(title,$get(col_artist)%artist%$get(col_dark)' - '$get(col_title)%title%$get(col_dark)[ %version%])
,
$puts(title,$get(col_title)%title%$get(col_dark)[ %version%])
)
$if(%bonustrack%,
$puts(title,$get(title) $get(col_bonus)$get(text_bonus))
)
$if($not(%title%),
$puts(title,),
)
$if($and($strcmp($num(%tracknumber%,1),1),$not(%singletrack%)),
$puts(divider,$get(text_divider))
)
$puts(length,$get(col_right_sep)$get(col_length)$pad_right(%_length%,5)$get(col_right_sep)³)
$puts(playing,$get(col_playing)$if(%_isplaying%,$get(symb_playing)))
$puts(rpg,
$if(%__replaygain_track_gain%,
$if(%__replaygain_album_gain%,
$get(col_a_gain)$if(%__replaygain_album_gain%,
$get(symb_a_gain)),
$get(col_t_gain)$if(%__replaygain_track_gain%,$get(symb_t_gain))),
$puts(width_gain_symb,$len($longest($get(symb_a_gain),$get(symb_t_gain))))
$repeat(' ',$get(width_gain_symb))
))
$if($strcmp($num(%tracknumber%,1),1),
$puts(spacer_trno_title,$get(col_sep)Ä)
,
$puts(spacer_trno_title,' ')
)
$if($and(%singletrack%,%tracknumber%),
$puts(spacer_trno_title,' ')
)
,_, )
//**************************************
// set foobar @ anza
//**************************************
$if($strcmp($get(graphic_on),1),
$puts(col_L,AA6600|AA6600)
$puts(col_D,441100|441100)
$puts(foobar,
$transition(
$select($add($mod(%_playlist_number%,48),1),
' ',
'°°°°°°',
' ° °',
' ',
'°°°° ',
'° ° ',
'°°°° ',
' ',
'°°°° ',
'° ° ',
'°°°° ',
' ',
'°°°°°°',
'° ° ',
'°°°° ',
' ',
'°°°° ',
'° ° ',
'°°°° ',
'° ',
' ',
'°°°° ',
' ° ',
' ° ',
' ',
'° ° ',
'°° °',
'° ° °',
'° °° ',
' ',
'°°°°°°',
'° °',
'°°°°°°',
' ',
'°°°°°°',
'° °',
'°°°°°°',
' ',
'°°°°°°',
'° °',
'°°°°°°',
' ',
' ',
' ',
' ',
' ',
' ',
' ')
,$get(col_D),$get(col_L))
)
)
//END FUN
$get(plno)
' '
$get(album)
$get(tracknumber)
$get(spacer_trno_title)
$get(title)
$get(divider)
$char(9)
$get(playing)
$if($strcmp($get(graphic_on),1),
$get(foobar),
)
$get(length)
$get(rpg)
//---------System tray----------//
$puts(NT,%artist%:$char(13)$char(10)%title%)
$get(NT)
//----------widows title---------//
$caps($if(%artist%,%artist%,'Unknown artist') - $if(%title%,%title%,%_filename_ext%)) $if(%_ispaused%,'#PAUSED#',' ')
//---------scroller window title (for fun :>)---------//
$puts(SCROLLER,
$puts(SCROLLTEXT,%artist% - %title%
$ifgreater($len(%artist% - %title%),39, *** ,))
$puts(LENGTH,40)
$ifgreater($get(LENGTH),$len($get(SCROLLTEXT)),$get(SCROLLTEXT),
$puts(FROM,$add($mod(%_time_elapsed_seconds%,$len($get(SCROLLTEXT))),1))
$puts(TO,$add($mod(%_time_elapsed_seconds%,$len($get(SCROLLTEXT))),$get(length)))
$substr($get(SCROLLTEXT),$get(FROM),$get(TO))$ifgreater($add($get(TO),1),$len($get(SCROLLTEXT)),$substr($get(SCROLLTEXT),1,$sub($get(TO),$len($get(SCROLLTEXT)))),)))
$get(SCROLLER)
$puts(spacer_symb,' ')
$puts(spacer_width,2)
$puts(prog_symb1,'Û')
$puts(prog_symb2,'Û')
$puts(prog_length,65)
$puts(paused_symb,'PAUSED')
$puts(cuefile_symb,'Cue File')
$puts(paused_color,0000FF)
$puts(streaming_color,008800)
$puts(cd_color,880000)
$puts(col_prog1,CC9922)
$puts(col_prog2,1A0000)
$puts(prog1,$get(col_prog1)$get(prog_symb1))
$puts(prog2,$get(col_prog2)$get(prog_symb2))
$puts(spacer,$repeat($get(spacer_symb),$get(spacer_width)))
$if(%__cue_audiotype%,$get(cuefile_symb)$get(spacer),)
$if(%_time_total%,,$get(streaming_color)'Streaming'$get(spacer))
$if($strstr(%_path_raw%,'cdda://'),$get(cd_color)'CDDA'$get(spacer),)
$if(%__codec%,%__codec%,)
$if(%__bitrate%,$get(spacer)$if($strcmp(%__extrainfo%,VBR),~)%__bitrate%'kbps',)
$if(%__extrainfo%,$get(spacer_symb)%__extrainfo%,)
$if(%__samplerate%,$get(spacer)$cut(%__samplerate%,2)'kHz',)
$ifgreater(%__channels%,1,$get(spacer)'8','s')
$if(%__replaygain_track_gain%,
$get(spacer)$if(%__replaygain_album_gain%,
$if(%__replaygain_album_gain%,
%__replaygain_album_gain%),
$if(%__replaygain_track_gain%,%__replaygain_track_gain%)),
)
$get(spacer)
'['$progress(%_time_elapsed_seconds%,%_time_total_seconds%,45,':B','~')']'
$if(%_time_total%,,$get(spacer)$get(spacer)$get(streaming_color)'Listened for:')
$get(spacer)
%_time_elapsed%[ / %_time_total%]
$char(9)
$if(%_ispaused%,$get(spacer)$get(paused_color)$get(paused_symb),)
[$num(%_playlist_number%,$len(%_playlist_total%)). ][%artist% - ]$if(%title%,['['%album%[ #[%disc%/]$num(%tracknumber%,2)]'] ']%title%,%_filename_ext%)[ '['%_length%']']
$if(%singletrack%,%singletrack% - $replace($left(%artist%,4),'The ',)$right(%artist%,$sub($len(%artist%),4))) - $if(%album%,$if2(%va%,$replace($left(%artist%,4),'The ',)$right(%artist%,$sub($len(%artist%),4))) - $if(%va%,%singletrack% - %album%,%cds% - %bootleg% - $num($if2(%albumdate%,%date%),4)) - %album% - %disc% - $num(%tracknumber%,2) - $if(%va%,$replace($left(%artist%,4),'The ',)$right(%artist%,$sub($len(%artist%),4)) - %title%,%title%),$replace($left(%artist%,4),'The ',)$right(%artist%,$sub($len(%artist%),4) - %title%))