Инструменты пользователя

Инструменты сайта


foobar2000:tagz:tutorial:create_animation

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foobar2000:tagz:tutorial:create_animation [2006/06/07 05:25]
Mishail
foobar2000:tagz:tutorial:create_animation [2006/06/11 02:55] (текущий)
Строка 10: Строка 10:
 Для того чтобы применить новые цвета, перейдите во вкладку **Style** столбца //Track// и добавьте эти строки в конец существующего скрипта. Для того чтобы применить новые цвета, перейдите во вкладку **Style** столбца //Track// и добавьте эти строки в конец существующего скрипта.
  
-<​html><​pre><​font color="#​808080"><​i>​[...]</​i></​font></br+<​html><​pre ​class="​code"​><​font color="#​808080"><​i>​[...]</​i></​font>​ 
-</br> + 
-$if(%isplaying%,​</br> +$if(%isplaying%,​ 
-$set_style(text,​$get_global(cTxtPlay),​$get_global(cTxtPlay))</br> +$set_style(text,​$get_global(cTxtPlay),​$get_global(cTxtPlay)) 
-$set_style(back,​$get_global(cBgPlay),​$get_global(cBgPlay))</br>+$set_style(back,​$get_global(cBgPlay),​$get_global(cBgPlay))
 ) )
 </​pre></​html>​ </​pre></​html>​
Строка 24: Строка 24:
 Естесттвенно эта переменная должна быть использована в скрипте. Лучше всего это сделать во вкладке **Display** столбца //Track//, в которой мы уже сделали отображение имен исполнителей красным цветом. Естесттвенно эта переменная должна быть использована в скрипте. Лучше всего это сделать во вкладке **Display** столбца //Track//, в которой мы уже сделали отображение имен исполнителей красным цветом.
  
-<​html><​pre>​ +<​html><​pre ​class="​code"​
-<font color="#​808080">​$if($and($get_global(isAlbum),​$meta(album artist)),</br> +<font color="#​808080">​$if($and($get_global(isAlbum),​$meta(album artist)), 
-</br></​font>​ +</​font>​ 
-$if(%isplaying%,​</br> +$if(%isplaying%,​ 
-$get_global(cTxtVAPlay),​</br> +$get_global(cTxtVAPlay),​ 
-<font color="#​808080">​$ifequal(%tracknumber%,​1,​$get_global(cTxtVA1),​$get_global(cTxtVA))</br> +<font color="#​808080">​$ifequal(%tracknumber%,​1,​$get_global(cTxtVA1),​$get_global(cTxtVA)) 
-)</br> +
-</br> + 
-[$meta(artist)'​ - '​]$rgb()</br> +[$meta(artist)'​ - '​]$rgb() 
-)</br> +
-</br>+
 %title%</​font>​ %title%</​font>​
 </​pre></​html>​ </​pre></​html>​
Строка 44: Строка 44:
 "​Now-playing"​ анимация состоит из двух частей. Первая часть касается столбца //Time//, в нем мы хотим показывать оставшееся время проигрывания песни. Вкладка **Display** это то самое место, где мы будем это делать. "​Now-playing"​ анимация состоит из двух частей. Первая часть касается столбца //Time//, в нем мы хотим показывать оставшееся время проигрывания песни. Вкладка **Display** это то самое место, где мы будем это делать.
  
-<​html><​pre>​ +<​html><​pre ​class="​code"​
-$if(%_time_remaining%,​</br> +$if(%_time_remaining%,​ 
-'​['​%_time_remaining%'​]',​</br> +'​['​%_time_remaining%'​]',​ 
-<font color="#​808080">​$if2(%_length%,'​n/​a'​)</​font></br>+<font color="#​808080">​$if2(%_length%,'​n/​a'​)</​font>​
 ) )
 </​pre></​html>​ </​pre></​html>​
Строка 61: Строка 61:
 Для того чтобы это сделать,​ нам нужен таймер,​ определяющий интервалы между всеми состояниями. К сожалению в Tagz нет явной встроенной поддержки таймеров,​ но мы можем сделать наш собственный,​ используя функцию ''​$mod()''​ и поле ''​%_time_elapsed_seconds%'',​ которые работая совместно выступят в роли посекундного счетчика. Давайте посмотрим на скрипт во вкладке **Display** столбца ''​Tracknumber''​. Здесь нам понадобится немного другой скрипт. Для того чтобы это сделать,​ нам нужен таймер,​ определяющий интервалы между всеми состояниями. К сожалению в Tagz нет явной встроенной поддержки таймеров,​ но мы можем сделать наш собственный,​ используя функцию ''​$mod()''​ и поле ''​%_time_elapsed_seconds%'',​ которые работая совместно выступят в роли посекундного счетчика. Давайте посмотрим на скрипт во вкладке **Display** столбца ''​Tracknumber''​. Здесь нам понадобится немного другой скрипт.
  
-<​html><​pre>​ +<​html><​pre ​class="​code"​
-$ifequal($put(foo,<​b>​$mod(%_time_elapsed_seconds%,​8)</​b>​),​0,​</br> +$ifequal($put(foo,<​b>​$mod(%_time_elapsed_seconds%,​8)</​b>​),​0,​ 
-'​))))',​</br> +'​))))',​ 
-// вставьте состояния с 1 по 7 здесь</br>+// вставьте состояния с 1 по 7 здесь
 ) )
 </​pre></​html>​ </​pre></​html>​
Строка 76: Строка 76:
 ''​$Ifequal()''​ корректно обработает остаток от деления 0, что является началом нашей анимации,​ ведь ''​$mod(0,​8)''​ равно 0,  выдав в этом случае ​ '​))))'​ (использование одиночных кавычек в этом случае так же обязательно). Остальная часть анимация контроллируется выражением ''​$select()''​. ''​$Ifequal()''​ корректно обработает остаток от деления 0, что является началом нашей анимации,​ ведь ''​$mod(0,​8)''​ равно 0,  выдав в этом случае ​ '​))))'​ (использование одиночных кавычек в этом случае так же обязательно). Остальная часть анимация контроллируется выражением ''​$select()''​.
  
-<​html><​pre>​ +<​html><​pre ​class="​code"​
-<font color="#​808080">​$ifequal($put(foo,​$mod(%_time_elapsed_seconds%,​8)),​0,​</br> +<font color="#​808080">​$ifequal($put(foo,​$mod(%_time_elapsed_seconds%,​8)),​0,​ 
-'​))))',</​font></br+'​))))',</​font>​ 
-$select($get(foo),​</br> +$select($get(foo),​ 
-$get_global(cTxtDim)'​('​$rgb()'​)))',​</br> +$get_global(cTxtDim)'​('​$rgb()'​)))',​ 
-$get_global(cTxtDim)'​(('​$rgb()'​))',​</br> +$get_global(cTxtDim)'​(('​$rgb()'​))',​ 
-$get_global(cTxtDim)'​((('​$rgb()'​)',​</br> +$get_global(cTxtDim)'​((('​$rgb()'​)',​ 
-$get_global(cTxtDim)'​((((',​</br> +$get_global(cTxtDim)'​((((',​ 
-'​)'​$get_global(cTxtDim)'​(((',​</br> +'​)'​$get_global(cTxtDim)'​(((',​ 
-'​))'​$get_global(cTxtDim)'​((',​</br> +'​))'​$get_global(cTxtDim)'​((',​ 
-'​)))'​$get_global(cTxtDim)'​('​</br> +'​)))'​$get_global(cTxtDim)'​('​ 
-)</br>+)
 <font color="#​808080">​)</​font>​ <font color="#​808080">​)</​font>​
 </​pre></​html>​ </​pre></​html>​
Строка 99: Строка 99:
 Теперь включим наше творение в уже существующий скрипт,​ добавив его в конструкцию ''​$if(%isplaying%,,​)''​. ​ Вот законченный скрипт (и не забудьте добавить новую закрывающую скобку в самом конце скрипта) Теперь включим наше творение в уже существующий скрипт,​ добавив его в конструкцию ''​$if(%isplaying%,,​)''​. ​ Вот законченный скрипт (и не забудьте добавить новую закрывающую скобку в самом конце скрипта)
  
-<​html><​pre>​+<​html><​pre ​class="​code"​>
 $if(%isplaying% $if(%isplaying%
 , ,
Строка 119: Строка 119:
 $hex(%tracknumber%,​1),​ $hex(%tracknumber%,​1),​
 $get_global(cTxtDim)'​0'​$rgb()$hex(%tracknumber%,​1) $get_global(cTxtDim)'​0'​$rgb()$hex(%tracknumber%,​1)
-)+))</​font>​ 
-)</​font>​+)
 </​pre></​html>​ </​pre></​html>​
  
-Конечно же, Вы можете использовать любой понравившийся Вам символ для анимации. Воспользуйтесь стандартной программой Таблица Символов (//​Character map//) для того чтобы получить юникодное число, соответствующее этому символу (оно отображается в строке статуса),​ а затем переведите его из шестнадцатеричного в десятеричный формат,​ используя инженерный режим Калькулятора. Полученное десятичное число Вы можете использовать в Tagz в функции ''​$char()'',​ например ''​$char(32)''​ это пробел,​ а ''​$char(9835)''​ это маленькая нотка. Только имейте в виду, что набор доступных символов зависит от шрифта,​ к примеру //Franklin Gothic Medium// предоставляет меньше символов чем Lucida Sans Unicode. +Конечно же, Вы можете использовать любой понравившийся Вам символ для анимации. Воспользуйтесь стандартной программой Таблица Символов (//​Character map//) для того чтобы получить юникодное число, соответствующее этому символу (оно отображается в строке статуса),​ а затем переведите его из шестнадцатеричного в десятеричный формат,​ используя инженерный режим Калькулятора. Полученное десятичное число Вы можете использовать в Tagz в функции ''​$char()'',​ например ''​$char(32)''​ это пробел,​ а ''​$char(9835)''​ это маленькая нотка. Только имейте в виду, что набор доступных символов зависит от шрифта,​ к примеру //Franklin Gothic Medium// предоставляет меньше символов чем ​//Lucida Sans Unicode//.
  
 ===== Результат ===== ===== Результат =====
Строка 137: Строка 136:
 В следующей главе мы займемся доработкой мелочей. Но, тем не менее, наш плэйлист уже полностью готов. В следующей главе мы займемся доработкой мелочей. Но, тем не менее, наш плэйлист уже полностью готов.
  
 +~~DISCUSSION~~
foobar2000/tagz/tutorial/create_animation.1149643552.txt.gz · Последние изменения: 2006/06/07 04:26 (внешнее изменение)