Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
foobar2000:tagz:tutorial:script_bars [2006/06/07 07:42] Mishail создано |
foobar2000:tagz:tutorial:script_bars [2007/02/08 14:02] (текущий) Mishail |
||
---|---|---|---|
Строка 16: | Строка 16: | ||
Не думаю, что этот скрипт требует каких-либо дополнительных разъяснений. :-) | Не думаю, что этот скрипт требует каких-либо дополнительных разъяснений. :-) | ||
+ | |||
===== Скрипт для строки состояния ===== | ===== Скрипт для строки состояния ===== | ||
Строка 32: | Строка 33: | ||
)))) | )))) | ||
- | Это часть для отображения кодека. Вспомните, что мы делали при создании информации о кодеке в [[столбце Artist/Album]] и этот скрипт станет Вам понятен. Первые две строки, про AC3 и Lame MP3, полностью идентичны, отсальные строки работают по тому же принципу: "отлавливают" указанный кодек и меняют для него отображаемое имя. Вы можете расширить эту секцию как Вам угодно, добавив обработку нужных Вам кодеков. | + | Это часть для отображения кодека. Вспомните, что мы делали при создании информации о кодеке в [[foobar2000:tagz:tutorial:create_columns#stolbec_artist_album|столбце Artist/Album]] и этот скрипт станет Вам понятен. Первые две строки, про AC3 и Lame MP3, полностью идентичны, отсальные строки работают по тому же принципу: "отлавливают" указанный кодек и меняют для него отображаемое имя. Вы можете расширить эту секцию как Вам угодно, добавив обработку нужных Вам кодеков. |
[%bitrate%' kbit/s'][' '%samplerate%' Hz'] | [%bitrate%' kbit/s'][' '%samplerate%' Hz'] | ||
Строка 49: | Строка 50: | ||
Переходим к четвертой секции, оторая содержит индикатор прогресса (//progress bar//). Чтобы было понятней, для начала изучим общий синтаксис: | Переходим к четвертой секции, оторая содержит индикатор прогресса (//progress bar//). Чтобы было понятней, для начала изучим общий синтаксис: | ||
- | <html><pre> | + | <html><pre class="code"> |
$progress2(<i>position</i>,<i>range</i>,<i>length</i>,<i>char1</i>,<i>char2</i>) | $progress2(<i>position</i>,<i>range</i>,<i>length</i>,<i>char1</i>,<i>char2</i>) | ||
</pre></html> | </pre></html> | ||
Строка 62: | Строка 63: | ||
Два аргумента, ''%_time_elapsed_seconds%'' и ''%_time_total_seconds%'', определяют какая часть песни уже проиграна, и насколько индикатор должен быть заполнен. Наш индикатор будет длиной в 10 символов. Символы заданы в 3-й строке, и они у нас идентичны: ''$char(9679'', это большой кружок. В дополнение мы задали различные цвета для символов, //заполненная// часть будет красной, //незаполненная// серой. Мы определим переменные для цветов немного ниже. И вот уже снабженная все этой информацией, функция ''$progress2()'' рисует индикатор прогресса. Также существует другая версия этой функции: ''$progress()'', использующая такие же аргументы, но отображающая индикатор немного иначе. | Два аргумента, ''%_time_elapsed_seconds%'' и ''%_time_total_seconds%'', определяют какая часть песни уже проиграна, и насколько индикатор должен быть заполнен. Наш индикатор будет длиной в 10 символов. Символы заданы в 3-й строке, и они у нас идентичны: ''$char(9679'', это большой кружок. В дополнение мы задали различные цвета для символов, //заполненная// часть будет красной, //незаполненная// серой. Мы определим переменные для цветов немного ниже. И вот уже снабженная все этой информацией, функция ''$progress2()'' рисует индикатор прогресса. Также существует другая версия этой функции: ''$progress()'', использующая такие же аргументы, но отображающая индикатор немного иначе. | ||
- | <html><pre> | + | <html><pre class="code"> |
- | $if(%_time_total_seconds%</br> | + | $if(%_time_total_seconds% |
- | ,</br> | + | , |
- | <font color="#808080">$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,</br> | + | <font color="#808080">$progress2(%_time_elapsed_seconds%,%_time_total_seconds%, |
- | 10,</br> | + | 10, |
- | $get(pbarColour1)$char(9679),$get(pbarColour2)$char(9679)</br> | + | $get(pbarColour1)$char(9679),$get(pbarColour2)$char(9679) |
- | )</font></br> | + | )</font> |
- | </br> | + | |
- | $rgb()' '</br> | + | $rgb()' ' |
- | $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)</br> | + | $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%) |
- | ' %'</br> | + | ' %' |
) | ) | ||
</pre></html> | </pre></html> | ||
Строка 84: | Строка 85: | ||
Теперь настала пора собрать все кусочки в одно целое, и еще сделать 2 вещи. Во-первых, вставить несколько разделителей между секциями, для этого нам прекрасно подойдут пробелы. И, во-вторых, определить переменную для красного цвета во второй секции (часть технической информации), для того чтобы еще более разделить секции. Ниже приведен законченный скрипт. | Теперь настала пора собрать все кусочки в одно целое, и еще сделать 2 вещи. Во-первых, вставить несколько разделителей между секциями, для этого нам прекрасно подойдут пробелы. И, во-вторых, определить переменную для красного цвета во второй секции (часть технической информации), для того чтобы еще более разделить секции. Ниже приведен законченный скрипт. | ||
- | <html><pre> | + | <html><pre class="code"> |
- | $puts(AltColour,$rgb(126,16,16))</br> | + | $puts(AltColour,$rgb(126,16,16)) |
- | $puts(pbarColour1,$rgb(126,16,16))</br> | + | $puts(pbarColour1,$rgb(126,16,16)) |
- | $puts(pbarColour2,$rgb(170,170,170))</br> | + | $puts(pbarColour2,$rgb(170,170,170)) |
- | </br> | + | |
- | <font color="#808080">$if($strcmp(%codec%,'ATSC A/52'),'Dolby Digital AC3',</br> | + | <font color="#808080">$if($strcmp(%codec%,'ATSC A/52'),'Dolby Digital AC3', |
- | $if($info(lame_version),'Lame MP3',</br> | + | $if($info(lame_version),'Lame MP3', |
- | $if($strcmp(%codec%,'FLAC'),'FLAC lossless',</br> | + | $if($strcmp(%codec%,'FLAC'),'FLAC lossless', |
- | $if($strcmp(%codec%,'PCM'),'PCM uncompressed',</br> | + | $if($strcmp(%codec%,'PCM'),'PCM uncompressed', |
- | %codec%</br> | + | %codec% |
- | ))))</font></br> | + | ))))</font> |
- | </br> | + | |
- | $get(AltColour)' '</br> | + | $get(AltColour)' ' |
- | </br> | + | |
- | <font color="#808080">[%bitrate%' kbit/s'][' '%samplerate%' Hz']</br> | + | <font color="#808080">[%bitrate%' kbit/s'][' '%samplerate%' Hz'] |
- | $ifgreater(%channels%,2,</br> | + | $ifgreater(%channels%,2, |
- | ' '%channels%' channels',</br> | + | ' '%channels%' channels', |
- | [' '%channels%])</font></br> | + | [' '%channels%])</font> |
- | </br> | + | |
- | $rgb()' '</br> | + | $rgb()' ' |
- | </br> | + | |
- | <font color="#808080">%_time_elapsed%[' of '%_time_total%]</font></br> | + | <font color="#808080">%_time_elapsed%[' of '%_time_total%]</font> |
- | </br> | + | |
- | ' '</br> | + | ' ' |
- | </br> | + | |
- | // progress bar</br> | + | // progress bar |
- | <font color="#808080">$if(%_time_total_seconds%</br> | + | <font color="#808080">$if(%_time_total_seconds% |
- | ,</br> | + | , |
- | $progress2(%_time_elapsed_seconds%,%_time_total_seconds%,</br> | + | $progress2(%_time_elapsed_seconds%,%_time_total_seconds%, |
- | 10,</br> | + | 10, |
- | $get(pbarColour1)$char(9679),$get(pbarColour2)$char(9679)</br> | + | $get(pbarColour1)$char(9679),$get(pbarColour2)$char(9679) |
- | )</br> | + | ) |
- | </br> | + | |
- | $rgb()' '</br> | + | $rgb()' ' |
- | $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)</br> | + | $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%) |
- | ' %'</br> | + | ' %' |
- | )</br></font> | + | )</font> |
- | </br> | + | |
- | // paused status</br> | + | // paused status |
<font color="#808080">$if(%_ispaused%,$char(9)'pause {on} ')</font> | <font color="#808080">$if(%_ispaused%,$char(9)'pause {on} ')</font> | ||
</pre></html> | </pre></html> | ||
Строка 150: | Строка 151: | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
- |