Difference between revisions of "User:Canar"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(properties/standard fields)
 
(38 intermediate revisions by one user not shown)
Line 1: Line 1:
 
=foobar2000 ideas=
 
=foobar2000 ideas=
:close and re-open files for file moves like is done for tag edits
+
*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)
  
 +
==Playback statistics-based autoplaylist order bug (won't fix)==
 +
#Take an autoplaylist containing "%play_count% IS 0".
 +
#Play a song for less than a minute.
 +
#Hit next.
 +
#Listen to all of the next song.
 +
#The song you skipped will be played!
  
[[User:Canar:Titleformat syntax guide]]
+
=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: [[User:Canar|Canar]] 05:19, 10 April 2011 (UTC)
  
My #noise/#oink spam string
 
<pre>$puts(MODE,1)
 
//Modes:
 
//1 - default
 
//2 - default lowercase
 
//3 - NFO / mix info
 
//4 - lite version
 
//5 - HTML
 
//6 - Really annoying UPPERCASE
 
//7 - random export for tabulation
 
//8 - ubersimple
 
  
//intelligent bitrate calculation
+
==foo_texttools now-playing spam==
$puts(BTRT,$div($mul(%_filesize%,8),%_length_seconds%))
+
$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
+
http://www.foobar2000.org/components/view/foo_texttools - becuz i am teh lazy
$puts(RG,$left(%__replaygain_track_gain%,$add($strchr(%__replaygain_track_gain%,.),2))dB)
+
  
//seperator randomizer
+
<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(SEP,$select($add($mod($rand(),6),1),∿∿,,,♪♫,,♪))
+
  
 +
[[User:Canar|Canar]] 21:03, 10 April 2011 (UTC) -- FFFFFFFUUUUUUUUUUUU screwed up spacing
  
//main style code=========================================
+
==capitalization and normalization==
$puts(DEF,
+
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.
  
//title/artist stuff
+
<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>
//-=-=-=-=-=-=-=-=-=-
+
$if(%title%,
+
//$get(SEP)
+
''%title%'' [by %artist% [feat. %featuring% ]])
+
  
$if(%rating%,'('Rating: $select($add(%rating%,1),
 
Useless,Mediocre,Decent,Good,Excellent,Transcendent)')' )
 
  
 +
==advanced/display==
  
 +
===autocomplete fields===
 +
<code>ARTIST+ALBUM ARTIST+COMPOSER+PERFORMER+FEATURING+REMIX ARTIST;GENRE+STYLE</code>
  
//album/date/tracknumber stuff
+
===properties/standard fields===
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
<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>
//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
+
==default ui columns==
$get(SEP) [$if(%album%,%date%:,date:%date%)]
+
[%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
+
===track information===
$if($not($and(%artist%,%title%)),$if($stricmp($left(%_path_raw%,7),'http://'),%_path_raw%,$get(SEP) $directory(%_path%)\%_filename_ext% ))
+
<code>[%title% ['['[%remix artist%$if($and(%remix artist%,%remix title%),''s) ][%remix title% ]Mix']']][ '//' %track artist%][ feat. %featuring%]</code>
  
//genre/codec info (assert: will always have codec 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
$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))
+
  
 +
<code>$ifequal($mod(%length_samples%,588),0,CD,?)</code>
  
//status bar (enabled via display > show dynamic info)
+
===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
//$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%,1152),0,MP3,?)</code>
  
)
+
==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>
  
$select($get(MODE),
+
==foo_fileops file name pattern==
 +
added reissue date, fixed spacing problem 04:03, 6 May 2011 (UTC)
  
$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]]
/me $lower($get(DEF))
+
[[User:Canar:hurr]]
 
+
,
+
 
+
$num(%tracknumber%,2). $if(%album artist%,%artist% - )%title%[ feat. %featuring%] {%_length%}
+
 
+
,
+
 
+
''%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