User:Canar: Difference between revisions

From Hydrogenaudio Knowledgebase
No edit summary
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[User:Canar:Titleformat syntax guide]]
=foobar2000 ideas=
*alter fft window function for less-aliased spectrogram (completed)
*move folders along with files (completed)
*close and re-open files for file moves like is done for tag edits (asked, denied)
*multiple tab orientations for tabs ui element (asked, pending)
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=58805 automatically fill values extensions] (asked, pending)
*auto-detect optimal bit-depth (completed)
*open containing folder on files in .zips (asked, pending)
=foobar2000 bugs=
#Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.
#Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)
#TITLE is ignored in Playback Statistics (asked, implementing)


My #noise spam string
==Playback statistics-based autoplaylist order bug (won't fix)==
<pre>$puts(MODE,8)
#Take an autoplaylist containing "%play_count% IS 0".
//Modes:
#Play a song for less than a minute.
//1 - default
#Hit next.
//2 - default lowercase
#Listen to all of the next song.
//3 - NFO / mix info
#The song you skipped will be played!
//4 - lite version
//5 - HTML
//6 - Really annoying UPPERCASE
//7 - random export for tabulation
//8 - ubersimple


//intelligent bitrate calculation
=foobar2000 configuration strings=
$puts(BTRT,$div($mul(%_filesize%,8),%_length_seconds%))
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)
$puts(BTRT,$if2(%__bitrate%kbps,$ifgreater($len($get(BTRT)),4,$div($get(BTRT),1024)kbps,$get(BTRT)bps)))
$puts(BTRT,$ifgreater($get(BTRT),320,,$get(BTRT)))


//replaygain modification
$puts(RG,$left(%__replaygain_track_gain%,$add($strchr(%__replaygain_track_gain%,.),2))dB)


//seperator randomizer
==foo_texttools now-playing spam==
$puts(SEP,$select($add($mod($rand(),6),1),∿∿,⊹,⋆,♪♫,♫,♪))


http://www.foobar2000.org/components/view/foo_texttools - becuz i am teh lazy


//main style code=========================================
<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>
$puts(DEF,


//title/artist stuff
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing
//-=-=-=-=-=-=-=-=-=-
$if(%title%,
//$get(SEP)
''%title%'' [by %artist% [feat. %featuring% ]])


$if(%rating%,'('Rating: $select($add(%rating%,1),
==capitalization and normalization==
Useless,Mediocre,Decent,Good,Excellent,Transcendent)')' )
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.


<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>




//album/date/tracknumber stuff
==advanced/display==
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//check to see that tracknumber's greater than
$if($and(%album%%date%%tracknumber%,$and($greater(%tracknumber%,0),$greater(100,%tracknumber%))),


//core album/date/tracknumber info
===autocomplete fields===
$get(SEP) [$if(%album%,%date%:,date:%date%)]
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code>
[%album%]
$if($and(%album artist%,$not($stricmp(%album artist%,%artist%))),'('%album artist%')')
[$if(%album%%date%,/)[%disc%.]$num(%tracknumber%,2)] )


//if artist and/or title aren't present, print path info instead
===properties/standard fields===
$if($not($and(%artist%,%title%)),$if($stricmp($left(%_path_raw%,7),'http://'),%_path_raw%,$get(SEP) $directory(%_path%)\%_filename_ext% ))
<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>


//genre/codec info (assert: will always have codec info?)
==default ui columns==
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
$get(SEP)
//[<$meta_sep(genre,/)[ '('%style%')']> ]
$if($info(codec_profile),$info(codec_profile) )$codec()
$if(%__mod_channels%,'('%__mod_channels% chan'nels)')
$if($and($or($and(%_length%,%_filesize%),%__bitrate%),$not($strcmp($get(BTRT),))),@$get(BTRT)
)
$if(%__replaygain_track_gain%,@$get(RG))


===track information===
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code>


//status bar (enabled via display > show dynamic info)
===cd sourced===
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
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
//$if($and(%_time_elapsed_seconds%,%_time_total_seconds%),$get(SEP)
// $progress(%_time_elapsed_seconds%, %_time_total_seconds%,
// 20,'['%_time_elapsed%']','='))


<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code>


)
===mp3 sourced===
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


$select($get(MODE),
<code>$ifequal($mod(%length_samples%,1152),0,MP3,?)</code>


$get(DEF)
==default ui grouping==
<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>


,
==foo_fileops file name pattern==
added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)


/me $lower($get(DEF))
<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>


,
=Incomplete nonsense=
 
[[User:Canar:Titleformat syntax guide]]
$num(%tracknumber%,2). $if(%album artist%,%artist% - )%title%[ feat. %featuring%] {%_length%}
[[User:Canar:hurr]]
 
,
 
''%title%'' by %artist% '('%album%')'
 
,
 
<li>%artist% - %title% {%_length%}</li>
 
,
 
$upper(['['[%date% .. ]%album% .. #[%disc%].$num(%tracknumber%,2)']'] %artist% [feat. %featuring% ]- %title%) {%_time_elapsed% / %_time_total%}
 
,
 
$caps2([%artist%]|[%date%]|[%album%]|[%tracknumber%]|[%totaltracks%]|[%title%]|[%comment%]|[%genre%]|[%copyright%]|[%composer%]|[%www%]|%filename%)
 
,
 
%artist% - %title%
)</pre>

Latest revision as of 16:32, 4 July 2012

foobar2000 ideas

  • alter fft window function for less-aliased spectrogram (completed)
  • move folders along with files (completed)
  • close and re-open files for file moves like is done for tag edits (asked, denied)
  • multiple tab orientations for tabs ui element (asked, pending)
  • automatically fill values extensions (asked, pending)
  • auto-detect optimal bit-depth (completed)
  • open containing folder on files in .zips (asked, pending)

foobar2000 bugs

  1. Drag and drop from Default UI to a device causing a copy will lock UI for the length of the file transfer.
  2. Ctrl-Alt-F1 is not bindable in Keyboard Shortcuts (asked, too much work)
  3. TITLE is ignored in Playback Statistics (asked, implementing)

Playback statistics-based autoplaylist order bug (won't fix)

  1. Take an autoplaylist containing "%play_count% IS 0".
  2. Play a song for less than a minute.
  3. Hit next.
  4. Listen to all of the next song.
  5. The song you skipped will be played!

foobar2000 configuration strings

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: Canar 05:19, 10 April 2011 (UTC)


foo_texttools now-playing spam

http://www.foobar2000.org/components/view/foo_texttools - becuz i am teh lazy

$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%])

Canar 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing

capitalization and normalization

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.

$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 )


advanced/display

autocomplete fields

ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE

properties/standard fields

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

default ui columns

track information

[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]

cd sourced

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

$ifequal($mod(%length_samples%,588),0,CD,?)

mp3 sourced

prints mp3 if likely unaccurate-length mp3-sourced, ie. number of samples is a multiple of 1152. ~0.1% chance of false positives. Canar 21:06, 10 April 2011 (UTC) -- fixed incorrect output

$ifequal($mod(%length_samples%,1152),0,MP3,?)

default ui grouping

$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%]

foo_fileops file name pattern

added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)

$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']']

Incomplete nonsense

User:Canar:Titleformat syntax guide User:Canar:hurr