Poniższy dokument opisuje funkcjonalność ATF w Winampie. ATF (Advanced Title Formatting), czyli Zaawansowane formatowanie tytułów, określa sposób wyświetlania metadanych przez Winampa w oknie edytora list odtwarzania oraz pasku tytułu, w głównym oknie. Globalny ciąg ATF może być edytowany ręcznie, poprzez stronę preferencji Winampa - Tytuły.
Domyślnym ciągiem ATF w Winampie jest ciąg:
[%artist% - ]$if2(%title%,$filepart(%filename%)
Jeśli pola Wykonawca oraz Tytuł są określone w znaczniku pliku, wynikiem takiego zapisu będzie: Wykonawca - Tytuł. Jeśli natomiast plik nie posiada tych informacji wyświetlona zostanie Nazwa pliku.
Spis treści
‘jakis_tekst$jakis_tekst%jakis_tekst[]’: wynikiem będzie cały ciąg tekstu bez znaków specjalnych ($,%,[,]).
Pola definiowane są przez różne elementy Winampa. Niektóre z nich są specyficzne dla Biblioteki mediów (%rating%, %playcount%), inne pochodzą z Winampa (%filename%, %folder%). Jednak, w większości przypadków, pola definiowane są przez wtyczki wejściowe. Niektóre z nich oferują ich znacznie więcej niż inne. Na przykład, wtyczka Windows Media (in_wm, Winamp 5.12+), definiuje wartości z DOWOLNYCH pól w formie %WM/*% (patrz na sekcję Zaawansowane w oknie Informacje o pliku dla plików wma/wmv/asf).
Zwraca pełną ścieżkę dostępu do pliku. Aby wyświetlić tylko nazwę pliku, użyj funkcji $filepart.
Zwraca klasyfikację utworu, w postacji liczby całkowitej z zakresu 1 do 5 (jeśli utwór jest sklasyfikowany). Aby wyświetlić te dane jako gwiazdki lub inne znaki, użyj funkcji $repeat.
Tylko w Winampie 5.2 lub nowszym.
Zwraca pole Numer utworu, bez dodatkowych znaków, np. Utwór 1 zostanie wyświetlony jako 1.
Aby wyświetlić dodatkowe znaki, w postacji zer, np.01, 02...10, 11, użyj funkcji $num lub funkcji $lpad.
Zwraca pole Szybkość transmisji bitów (dla plików VBR użyta zostanie średnia szybkość transmisji bitów)
Zwraca pole Długość utwory w milisekundach. Aby sformatować długość trwania utworu, użyj ciągu:
$div(%length%,60000):$num($div($mod(%length%,60000),1000),2)
Zwraca 1, jeśli plik jest plikiem Wideo oraz 0, jeśli jest plikiem audio.
Tylko w Winampie 5.2 lub nowszym.
Zwraca 1 dla plików audio VBR (kodowanych ze zmienną szybkością transmisji bitów) oraz 0, dla plików audio CBR (kodowanych ze stałą szybkością transmisji bitów).
Poniżej przedstawione sa pola, które definiowane są przez wtyczki wejściowe. (powyżej wymieniono także te, które definiowane są również przez Bibliotekę mediów(%length%, %disc%, %track%, %composer%, %streamtitle%, %albumartist%, %publisher%).
Zwraca pole Wykonawca utworu (odpowiednik pola Wykonawca), jeśli Wykonawca albumu jest inny.
Tylko w Winampie 5.3 lub nowszym.
Zwraca pole BPM (Uderzenia na minutę), jeśli dane/pole istnieje.
Tylko w Winampie 5.3 lub nowszym.
Zwraca pole Narzędzie kodujące (oprogramowanie użyte do zgrania i zakodowania utworu), np. Winamp 5.34.
Tylko w Winampie 5.3 lub nowszym.
Zwraca pole Typ pliku, np. dla pliku M4A zwraca: Format pliku MPEG-4 Audio
Tylko w Winampie 5.5 lub nowszym.
Zwraca kod International Standard Recording Code, lub ISO 3901 (Informacje)
Tylko w Winampie 5.3 lub nowszym.
Zwraca wartość Wzmocnienia utworu współczynnika wzmocnienia ReplayGain (np. -3.16 dB), jeśli istnieje.
Tylko w Winampie 5.3 lub nowszym.
Zwraca wartość Wzmocnienia albumu współczynnika wzmocnienia ReplayGain, jeśli istnieje.
Tylko w Winampie 5.3 lub nowszym.
Zwraca szczytową wartość Wzmocnienia utworu współczynnika wzmocnienia ReplayGain, jeśli istnieje.
Tylko w Winampie 5.3 lub nowszym.
Zwraca szczytową wartość Wzmocnienia albumu współczynnika wzmocnienia ReplayGain, jeśli istnieje.
Tylko w Winampie 5.3 lub nowszym.
Uważaj na znaki spacji po znakach przecinka.
Ciąg: $if(%title%, Ma tytuł, Nie ma tytułu) wyświetli w wyniku: “ Ma tytuł” (zwróć uwagę na spację na początku), a nie “Ma tytuł”. Prawidłowo zapisany ciąg powinien wyglądać jak ten: $if(%title%,Ma tytuł,Nie ma tytułu).
Parametry: (a, then, else)
Wynik: Jeśli parametr a zawiera przynajmniej jedno prawidłowe, nie puste pole, to jest przetwarzane i zwracane w postaci parametru then, w przeciwnym razie zwracany jest parametr else. Proszę zwrócić uwagę, że funkcja $if(A,A,B) jest równa funkcji $if2(A,B)
$if(%artist%,Ma znacznik Wykonawca,Nie ma znacznika Wykonawca)
Parametry: (a, else)
Wynik: Jeśli parametr a zawiera prawidłowe, nie puste pole, to parametr a jest przetwarzany i zwracany, w przeciwnym razie zwracany jest parametr else
$if2(%album%,Brak albumu)
Parametry: (a1, ..., aN, else)
Wynik: Jeśli jeden z parametrów a1... aN zawiera prawidłowe, nie puste pole, wartość jest przetwarzana i zwracana, w przeciwnym razie zwracany jest parametr else.
$if3(%artist%,%filename%,%album%,Brak pola)
Parametry: (a, b1, c1, ..., bN, cN, else)
Wynik: cN lub else. Funkcja instrukcji wyboru (switch/case), która decyduje o tym, który z parametrów bN jest równy parametrowi a, zwracając odpowiadający mu parametr cN. Jeśli żaden z nich nie pasuje, zwracany jest ostatni parametr else.
$decode($fileext(%filename%),MP3,MPEG-1 Layer 3,MP4,Kontener MPEG-4,Inne)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2, then, else)
Wynik: Porównywane są wartości liczb całkowitych x1 oraz x2. Jeśli x1 jest większe od x2, to przetwarzany jest parametr then i zwracana jest jego wartość. W przeciwnym razie (x2 jest większe od x1) przetwarzany jest parametr else i zwracana jest jego wartość.
$ifgreater(%rating%,2,Najwyżej oceniony utwór,Utwór oceniony nienajwyżej)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, x1, then, else)
Wynik: Porównywane są długości ciągu znaków a1 oraz x1. Jeśli ciąg a1 jest dłuższy, parametr then jest przetwarzany i zwracana jest jego wartość. W przeciwnym razie parametr else jest przetwarzany i zwracana jest jego wartość.
$iflonger(%title%,15,Długi tytuł,Krótki tytuł)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (A, B, then, else)
Wynik: Jeśli A = B wykonaj then, w przeciwym razie wykonaj else
$IfStrEqual2(%year%,2007,Nowy!:,Stary:)
$IfStrEqual2(%type%,1,'(Wideo)','(Audio)')
Tylko w Winampie 5.2 lub nowszym.
– Usunięto –
Parametry:(%a%, %b%) – Jeśli pola są przetwarzane są sprawdzane.
Wynik: 1 jeśli pola %a% oraz %b% są przetwarzane. Jeśli tak nie jest, wyświetlany jest pusty ciąg znaków. (?????)
$if($and(%artist%,%title%),Posiada Wykonawcę i Tytuł,Brak jednego pola)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2)
Wynik: Reszta z dzielenia x1 przez x2
$mod(21,8) zwraca “5”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2)
Wynik: x1 / x2. Wynik dzielenia x1 przez x2
$div(60,10)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1,x2,...,xn) - Lista liczb do przemnożenia.
Wynik: x1 * x2 * ... * xn. Podane liczby są mnożone przez siebie.
$mul(7,8,3,4)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2, x3)
Wynik: x1 * x2 / 3. Liczba x1 mnożona jest przez liczbę x2, a następnie dzielona przez liczbę x3. Wynik zaokrąglany jest do najbliższej liczby całkowitej.
$muldiv(10,6,3) zwraca “20”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1,x2,...,xn) - Lista plików do operacji odejmowania.
Wynik: x1 - x2 - ... - xn. Od liczby x1 odejmowane są liczby x2...xn.
$sub(25,1,3,2,3)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1,x2,...,xn) - Lista plików do operacji dodawania.
Wynik: x1 + x2 +...+ xn. Wynikiem jest suma wszystkich przekazanych liczb.
$add(2,3,%playcount%,%rating%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2) - Dwie liczby do porównania
Wynik: 1 jeśli liczba x1 jest większa od liczby x2, w przeciwnym razie nie wykonuje się. Podobna w użyciu do funkcji $ifgreater()
$greater(3,2) – Uwaga: wydaje się, że nie działa wewnątrz funkcji $if().
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1,...,xn) - Lista liczb do porównania.
Wynik: Największa liczba z przekazanych argumentów.
$max(7,8,3,4)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1)
Wynik: Parametr a1 zapisany jest małymi literami.
$lower(%title%)
Parametry: (a1)
Wynik: Parametr a1 zapisany jest dużymi literami.
$upper(%title%)
Parametry: (a1, a2, a3)
Wynik: Wszystkie wystąpienia parametru a2 w parametrze a1 są zastępowane parametrem a3
$replace(dum,u,o) wypisuje “dom”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, x1)
Wynik: Pierwszy znak x1 parametru a1
$left(%title%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, x1)
Wynik: Ostatni znak x1 parametru a1
$right(%title%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1)
Wynik: Liczba znaków parametru a1
$len(%artist%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
TODO: $substr()
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, a2)
Wynik: Indeks pierwszego wystąpienia łańcucha znaków parametru a2 w parametrze a1
$strstr(aacbbabb,ab) zwraca “6”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, a2)
Wynik: Indeks ostatniego wystąpienia znaku parametru a2 w parametrze a1
$strrchr(aacbbabb,a) zwraca “6”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, a2)
Wynik: Indeks pierwszego wystąpienia znaku parametru a2 w parametrze a1
$strlchr(aacbbabb,a) zwraca “1”.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, a2)
Wynik: Indeks pierwszego wystąpienia znaku parametru a2 w parametrze a1
$strchr(aacbbabb,a) zwraca “1” (tak samo jak funkcja $strlchr() ??).
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, a2)
Wynik: a1 lub a2, w zależności od tego, który z nich ma mniejszą długość.
$shortest(%album%,%folder%)
Parametry: (a1, a2)
Wynik: a1 lub a2, w zależności od tego, który z nich ma większą długość.
$longest(%album%,%folder%)
Parametry: (a1, x1)
Wynik: Wartość parametru a1 jest skracana.
Ciąg $abbr(%album%) konwertuje nazwę albumu, np. “Final Fantasy VI” na “FFVI”.
Ciąg $abbr(Advanced Title Formatting,10) zwraca “ATF”.
Ciąg $abbr(%album%,10) zwraca skróconą nazwę albumu, tylko wtedy, gdy ciąg jest dłuższy od 10 znaków.
Parametr x1 jest opcjonalny. Jeśli jest zdefiniowany, wartość parametru a1 zostanie skrócona tylko wtedy, gdy jego długość przekroczy ilość znaków określoną przez wartość parametru x1
Parametry: (a1, x2)
Wynik: Wartość parametru a1 uzupełniana jest x2 spacjami lub pomniejszona do x2 znaków.
$padcut(%artist%,15)
Parametry: (a1, x2)
Wynik: Wartość parametru a1 pomniejszona o x2 znaków.
$cut(%comment%,15) zwraca pierwszych 15 znaków pola Komentarz.
Parametry: (string, num, padstr)
Wynik: Wartość parametru string uzupełniana jest o num znaków (domyślnie spacjami) lub określonym znakiem (lub powtarzanym łańcuchem znaków) przez wartość parametru padstr
$pad(%artist%,40) lub $pad(%artist%,40,.), gdzie ciąg uzupełniany jest kropkami.
Parametry: (string, num, padstr)
Wynik: Wartość parametru string uzupełniana jest o num znaków z lewej strony (domyślnie spacjami) lub określonym znakiem (lub powtarzanym łańcuchem znaków) przez wartość parametru padstr.
$lpad(%tracknumber%,3) lub $lpad(%tracknumber%,3,0), gdzie na początku ciągu znajdują się zera uzupełniające.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1)
Wynik: Wartość parametru a1 bez spacji poprzedzających oraz kończących.
$trim(%artist%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, x1)
Wynik: Wartość parametru a1 powtórzona jest x1 razy.
$repeat(*,%rating%)
(Do wersji Winamp 5.2 funkcjonalność taką zapewniała funkcja $fill(). Została ona usunięta poczynając od wersji 5.21.)
Parametry: (a1)
Wynik: Wartość parametru a1 zapisana małymi literami, przy czym pierwsze litery każdego ze słów pisane są z dużej litery.
$caps(%artist%)
Parametry: (a1)
Wynik: a1, przy czym, pierwsza litera każdego słowa jest pisana z dużej litery.
$caps2(%artist%)
Parametry: (a1)
Wynik: Rozszerzenie pliku określonego przez wartość parametru a1
$fileext(%filename%)
Parametry: (a1)
Wynik: Nazwa pliku będąca wartością parametru a1 (bez ścieżki dostępu)
$filepart(%filename%)
Parametry: (a1)
Wynik: Nazwa pliku będąca wartością parametru a1 (bez ścieżki dostępu)
$filename(%filename%)
Parametry: (a1, x1)
Wynik: Nazwa katalogu ścieżki będącej wartością parametru a1, który znajduje się x1 poziomów wyżej.
$directory(%filename%,2)
Powyższy przykład zwróci katalog “Music”, jeśli pełną ścieżką dostępu jest “C:\Music\Artist - Album\Song.mp3”. Parametr x1 jest opcjonalny, domyślnie ma wartość 1.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a, token, which)
Wynik: Rozbicie łańcucha znaków dysku oraz/lub utworu, np. aby pokazać "1" zamiast "1/11"
[$num(%track%,2)$IfStrNotEqual($split(%track%,/,1),,/$num($split(%track%,/,1),2))]
Tylko w Winampie 5.5 lub nowszym.
Parametry: (a1)
Wynik: Rozszerzenie pliku określonego przez wartość parametru a1
$ext(%filename%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2)
Wynik: Wartość parametru x1 w postaci liczby szesnastkowej z liczbą zer po lewej stronie określonej przez wartość parametru x2
$hex(%tracknumber%,4)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2)
Wynik: Wartość parametru x1 wraz z określoną przez wartość parametru x2 liczbą zer poprzedzających.
$dec(%tracknumber%,5)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (x1, x2)
Wynik: Wartość parametru x1 wraz z określoną przez wartość parametru x2 liczbą zer poprzedzających.
$num(%tracknumber%,5)
Tylko w Winampie 5.2 lub nowszym.
Parametry: Dowolna liczba parametrów
Wynik: Nic
$null() Nic nie robi. Funkcja ta jest użyteczna w przypadku, gdy wymagany jest parametr, a chcemy tylko pusty łańcuch znaków.
Tylko w Winampie 5.2 lub nowszym.
Parametry: (a1, x1)
Wynik: Pierwszy poziom x1 parametru a1
$PathLPart(%filename%,2)
Powyższy przykład zwróci ścieżkę “C:\Music”, jeśli pełną ścieżką dostępu jest “C:\Music\Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”.
Tylko w Winampie 5.3 lub nowszym.
Parametry: (a1, x1)
Wynik: Ostatni poziom x1 parametru a1
$PathRPart(%filename%,2)
Powyższy przykład zwróci ścieżkę “Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”, jeśli pełną ścieżką dostępu jest “C:\Music\Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”.
Tylko w Winampie 5.3 lub nowszym.
Parametry: (a1, x1)
Wynik: Wartość parametru a1 bez pierwszego poziomu x1 parametru a1
$PathLTrim(%filename%,1)
Powyższy przykład zwróci ścieżkę “Music\Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”, jeśli pełną ścieżką dostępu jest “C:\Music\Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”.
Tylko w Winampie 5.3 lub nowszym.
Parametry: (a1, x1)
Wynik: Wartość parametru a1 bez ostatniego poziomu x1 parametru a1
$PathRTrim(%filename%,1)
Powyższy przykład zwróci ścieżkę “C:\Music\Sonic Youth - Daydream Nation”, jeśli pełną ścieżką dostępu jest
“C:\Music\Sonic Youth - Daydream Nation\01 - Teen Age Riot.mp3”.
Tylko w Winampie 5.3 lub nowszym.
Parametry: (name, value)
Wynik: Przechowuje parametr value w zmiennej name. Może być on później pobrany używając funkcji $get(name). Użyj funkcji $put(), aby przechowywać wartość parametru value oraz zwracać tę wartość.
$puts(artist_title,%artist% - %title%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: (name, value)
Wynik: value. Przechowuje parametr value w zmiennej name. Może być on później pobrany używając funkcji $get(name). Użyj funkcji $puts(), aby przechowywać wartość parametru value bez jej zwracania.
$put(artist_title,%artist% - %title%)
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
Przykład: TODO: $systime_second()
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
Przykład: TODO: $systime_minute()
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
Przykład: TODO: $systime_hour()
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
Przykład: TODO: $systime_day()
Tylko w Winampie 5.2 lub nowszym.
Parametry: TODO: (a1, a2)
Wynik: TODO: a1
Przykład: TODO: $systime_month()
Tylko w Winampie 5.2 lub nowszym.
[ .... ] - zawartość znajdująca się w nawiasach kwadratowych zostanie wyswietlona tylko wtedy, gdy znalezione zostanie przynajmniej jedno z jego pól.
Zapis [%artist% - ] wyświetli: "Wykonawca - " tylko wtedy, gdy znacznik %artist% jest określony. Jeśli nie jest, nie zostaną wyświetlone żadne dane (myślnik oraz spacje także nie).
Składnia: [%artist% - ][%album% - ][$num(%track%,2) - ]$if2(%title%,$filepart(%filename%))
Pink Floyd - Animals - 02 - Dogs
Składnia:
[$if2(%albumartist%,%artist%) - ][%album% - ][$num(%track%,2) - ] $IfStrNotEqual(%artist%,$if2(%albumartist%,%artist%),[%artist% - ]) [$if2(%title%,$filepart(%filename%))][$if($fileext(%filename%),' [ ',)] [%year% | ][$fileext(%filename%) ][$if(%bitrate%, '|' ,)][%bitrate% 'kbps' ] [$if($fileext(%filename%),']',)][ $repeat(*,%rating%) ]
Wynik: Wykonawca albumu - Album - ## - Wykonawca - Tytuł [ Rok | Rozszerzenie | Szybkość transmisji bitów ] Klasyfikacja
Jeśli Wykonawca albumu różni się od Wykonawcy utworu, w przeciwnym razie wyświetla format standardowy.
Various - Arcana - 01 - Tripswitch - Calabi Yau [ 2006 | mp3 | 205 kb/s ] *****