APSkins v1.0 by Andy51 and Last
Патч добавлет новую функциональность в стандартный плеер - поддержку скинов.
A51: Полностью заменена система вывода ИНТЕРФЕЙСА аудио/видеоплеера, почти весь код патча выполнен на ассемблере.
Last : Специально для этого релиза был создан красивый скин, на его примере можно посмотреть устройство скинов.
Патч предусматривает сразу два скина - один для аудиоплеера, и один для видео.
Сами скины берутся из папки с текущим скином телефона, например,
/c/mobile/skins/Techno/player/audio/ и /c/mobile/skins/Techno/player/video/ соответственно.
Состав скина
- Конфигурационный файл (apconfig.cfg), в нём находится информация о местоположении на экране каждого элемента скина.
- 9 картинок, представляющих различные экранные объекты.
Каждому объекту соответствует одна картинка и одна строка в конфигурационном файле(кроме фона - у него нет настройки). Имена объектов фиксированы и совпадают с названием соответствующей строки и картинки.
Например, объекту "Play" соответствует картинка Play.gif и строка с именем Play = ...
Обратите внимание на регистр имён папок и файлов - он важен!
Формат файла настроек
Поддерживаются строки - комментарии. Они должны начинаться с точки с запятой (';')
Обработчик конфига довольно примитивный, но, тем не менее, не слишком требователен. Разрешены пустые строки, лишние пробелы, табуляции. Порядок строк - не важен.
Список объектов
Кнопки
Play, Stop, Pause, Backward, Forward - объекты типа "кнопка" появляются на экране тогда, когда происходит соответствующее событие.
Настройки: <x> <y> - координаты левого верхнего угла картинки.
Пример:
Текстовые объекты
Title, Artist, Elapsed, Length, Bitrate, Size - объекты текстового типа отображают различную информацию о проигрываемом файле.
Настройки: <x> <y> <length> <color> - позиция на экране левого нижнего угла строки, длина текстового поля в пикселах и цвет строки в формате RGBT. Последний удобнее всего задавать в шестнадцатиричном виде, но это - не является требованием.
Пример:
Другие объекты
Background - Фоновая картинка. Не имеет настроек.
Animation - Анимированная картинка. Появляется на экране только в аудиоплеере в процессе проигрывания. Нужна только в скине для аудиоплеера - не добавляйте эту строку в скин для видеоплеера! Настройки такие же, как у кнопок.
Frame - Позиция кадра отображения видео. Соответственно, нужна только в скине для видеоплеера - не добавляйте эту строку в скин для аудиоплеера! Настройки такие же, как у кнопок, однако позиция по x игнорируется.
Progress - Ползунок времени. Ползёт от начальной координаты к конечной. Таким образом, можно делать "вертикальные", "косые", "задом наперёд" ползунки Координаты задаются для левого верхнего угла картики!
Настройки: <x1> <y1> <x2> <y2>
Пример:
Volume - Громкость. Имеет довольно сложный принцип работы, и требует более подробного описания.
1) Картинка Volume.gif должна по ширине быть кратна 7
Например, вот так:
2) В процессе отрисовки картинка делится на 7 равных частей, расположенных друг за другом по горизонтали.
2) Строится невидимая линия от начальной к конечной позиции
3) Линия также делится на 7 равных отрезков
4) В координатах начала каждого отрезка выводится одна седьмая часть картинки, соответствующая порядковому номеру отрезка, считая от начальной позиции. Число выводимых таким образом "подкартинок" зависит, конечно, от текущего уровня громкости.
Настройки: <x1> <y1> <x2> <y2> - начальная и конечная позиция.
Пример:
Если у вас стоит мой предыдущий патч (на фоновую картинку в плеере) - его необходимо откатить!
Сообщение отредактировал Andy51 - 21.4.2008, 19:51
Патч добавлет новую функциональность в стандартный плеер - поддержку скинов.
A51: Полностью заменена система вывода ИНТЕРФЕЙСА аудио/видеоплеера, почти весь код патча выполнен на ассемблере.
Last : Специально для этого релиза был создан красивый скин, на его примере можно посмотреть устройство скинов.
Патч предусматривает сразу два скина - один для аудиоплеера, и один для видео.
Сами скины берутся из папки с текущим скином телефона, например,
/c/mobile/skins/Techno/player/audio/ и /c/mobile/skins/Techno/player/video/ соответственно.
Состав скина
- Конфигурационный файл (apconfig.cfg), в нём находится информация о местоположении на экране каждого элемента скина.
- 9 картинок, представляющих различные экранные объекты.
Каждому объекту соответствует одна картинка и одна строка в конфигурационном файле(кроме фона - у него нет настройки). Имена объектов фиксированы и совпадают с названием соответствующей строки и картинки.
Например, объекту "Play" соответствует картинка Play.gif и строка с именем Play = ...
Обратите внимание на регистр имён папок и файлов - он важен!
Формат файла настроек
Код
<Имя_Объекта> = <параметр1> <параметр2> ...
Поддерживаются строки - комментарии. Они должны начинаться с точки с запятой (';')
Обработчик конфига довольно примитивный, но, тем не менее, не слишком требователен. Разрешены пустые строки, лишние пробелы, табуляции. Порядок строк - не важен.
Список объектов
Кнопки
Play, Stop, Pause, Backward, Forward - объекты типа "кнопка" появляются на экране тогда, когда происходит соответствующее событие.
Настройки: <x> <y> - координаты левого верхнего угла картинки.
Пример:
Код
Play = 71 178
Текстовые объекты
Title, Artist, Elapsed, Length, Bitrate, Size - объекты текстового типа отображают различную информацию о проигрываемом файле.
Настройки: <x> <y> <length> <color> - позиция на экране левого нижнего угла строки, длина текстового поля в пикселах и цвет строки в формате RGBT. Последний удобнее всего задавать в шестнадцатиричном виде, но это - не является требованием.
Пример:
Код
Title = 25 150 128 0xFFFFFF00
Другие объекты
Background - Фоновая картинка. Не имеет настроек.
Animation - Анимированная картинка. Появляется на экране только в аудиоплеере в процессе проигрывания. Нужна только в скине для аудиоплеера - не добавляйте эту строку в скин для видеоплеера! Настройки такие же, как у кнопок.
Frame - Позиция кадра отображения видео. Соответственно, нужна только в скине для видеоплеера - не добавляйте эту строку в скин для аудиоплеера! Настройки такие же, как у кнопок, однако позиция по x игнорируется.
Progress - Ползунок времени. Ползёт от начальной координаты к конечной. Таким образом, можно делать "вертикальные", "косые", "задом наперёд" ползунки Координаты задаются для левого верхнего угла картики!
Настройки: <x1> <y1> <x2> <y2>
Пример:
Код
Progress = 34 162 127 162
Volume - Громкость. Имеет довольно сложный принцип работы, и требует более подробного описания.
1) Картинка Volume.gif должна по ширине быть кратна 7
Например, вот так:
2) В процессе отрисовки картинка делится на 7 равных частей, расположенных друг за другом по горизонтали.
2) Строится невидимая линия от начальной к конечной позиции
3) Линия также делится на 7 равных отрезков
4) В координатах начала каждого отрезка выводится одна седьмая часть картинки, соответствующая порядковому номеру отрезка, считая от начальной позиции. Число выводимых таким образом "подкартинок" зависит, конечно, от текущего уровня громкости.
Настройки: <x1> <y1> <x2> <y2> - начальная и конечная позиция.
Пример:
Код
Volume = 135 4 167 4
Если у вас стоит мой предыдущий патч (на фоновую картинку в плеере) - его необходимо откатить!
Сообщение отредактировал Andy51 - 21.4.2008, 19:51