Ugolnik's Family blog

Различные заметки обо всем.

Browsing Posts tagged Software

Не предполагал, что Cubic Player все еще жив. Ведь времена DOS’а давно прошли. Ан нет, есть версия и для Windows, и для UNIX-подобных систем. По скришотам на сайте это все тот же Cubic Player.

UNIX-версия Open Cubic Player – все еще имеет баги и нереализованные возможности. На сайте шаги по сборке плеера под разные дистрибутивы.

Форматы, которые поддерживает Open Cubic Player:

* 669 – 669 Composer module;
* AMS – Velvet Studio module;
* BPA – Death Ralley archive;
* CDA – compact disk CD audio track;
* DMF – X Tracker module;
* IT – Impulse Tracker module;
* MDL – Digi Tracker module;
* MID – standard midi file;
* MOD – amiga ProTracker 1.1b module and variants;
* MP3 – MPEG audio format level 1-3;
* MTM – Multi Tracker module;
* MXM – Mxmplay module;
* OKT – Oktalyzer module;
* PLS – playlist, works also with M3U and PLT playlist files;
* PTM – Poly Tracker module;
* S3M – Sream Tracker 3 module;
* SID – PSID sid file;
* UMX – Unreal module file;
* ULT – Ultra Tracker module;
* WAV – Microsoft RIFF wave file;
* WOW – WOW Tracker module;
* XM – Fast Tracker 2 module;

Simple Viewer GL Сегодня ночью взялся за доработку вьювера изображений – Simple Viewer. Давно хотелось отказаться от использования Gfl SDK. Эта библиотека является частью проекта XnView. Библиотека хорошая и удобная, хорошо документированная. Поддерживает более 100 графических форматов. Но она проприетарная.
Перейти от непосредственной работы с Xlib к OpenGL, что повысило бы скорость работы вьювера за счет аппаратного ускорения. Так же добавил возможность скроллинга и изменения масштаба с помощью мышки.
На данный момент использую Imlib2 для загрузки и декодирования изображений. Но т.к. Imlib2 не смог загрузить тестовый jpeg, созданный в GIMP, то мой выбор остановился на libjpeg. Для анимированных gif использую giflib.

Итак, что получилось в итоге, плюсы:

  • создание списка файлов и поиск позиции, с которой начался просмотр;
  • отказ от Gfl SDK в пользу Imlib2, libjpeg, libpng, giflib, libtiff;
  • поддержка JPEG через libjpeg;
  • поддержка PNG через libjpng;
  • поддержка GIF через giflib;
  • поддержка TIFF через libtiff;
  • поддержка PSD (еще не все фичи формата реализовал);
  • поддержка ICO (реализовал так же поддержку фреймов в формате PNG);
  • использование OpenGL;
  • отображение координаты и цвета пикселя под курсором (ключ командной строки -p или клавиша P);
  • разбиение больших изображений по нескольким текстурам;
  • быстрое скролирование изображения с помощью клавиатуры или мышки;
  • произвольное масштабирование изображения с помощью клавиатуры (- / +) или колеса мышки;
  • корректное автоматическое масштабирование изображений, не вмещающихся в окно вьювера;
  • отображение прогресса загрузки больших изображений;
  • возможность просмотра многостраничных изображений (клавиши PgUp / PgDn)

 
К сожалению есть и минусы:

  • анимированные GIF все еще не поддерживаются (но есть возможность просмотра отдельных фреймов);
  • нет поддержки многостраничных изображений сделана поддержка для TIFF, GIF, ICO;
  • нет никакой поддержки PSD; есть, сегодня ночью написал первую реализацию;
  • нельзя посмотреть EXIF (планирую сделать);
  • нет возможности переназначить “горячие” клавиши (планирую сделать);
  • нет информации о количестве бит на канал изображения изображения загруженные с помощью Imlib2 не имеют информации о кол-ве бит на пиксель;
  • нет возможности повернуть изображение (планирую сделать);
  • у меня есть изображение в формате jpeg (созданное для теста в GIMP), которое Imlib2 не может загрузить, хотя libjpeg спокойно его грузил; перешел на libjpeg – теперь проблем с JPEG нет;
  • не реализована загрузка огромных изображений маленькими блоками (это должно позволить быстро грузить огромные изображения и сильно экономить память);

 


В данный момент исходные коды Simple Viewer GL доступны на SourceForge.net в SVN. Забрать последнюю версию исходных кодов можно следующей командой:

svn co https://simpleviewer.svn.sourceforge.net/svnroot/simpleviewer simpleviewer

 


Добрый человек с LOR скрывающийся под ником AnDoR сделал ebuild для вьювера – simpleviewer-gl-9999.ebuild. Большое ему за это спасибо.

 


Предыдущая версия Simple Viewer.

Вот так “работает у меня Chromium. Сборка бинарная. Некоторые сайты он отображает, большинство нет.
В динамике это выглядит так – вводим адрес, грузится страница, рендерится, через секунду-пол она перекрывается этой фигней. Если нажать Ctrl + T (открыть новую закладку), то сразу получаем эту страницу.
Раньше Хром “радовал” меня падениями при попытке открыть локально картинку в формате JPEG. В консоль и лог ничего не писал. Просто тихо падал. С другими форматами у него проблем я не замечал.
За приличное время использования Chromium (тогда он еще работал, хотя периодически и доставал сообщениями о недоступности страницы) я не нашел ничего сильно выдающегося относительно других браузеров.

Так что теперь я снова пересел на “тормозной” Firefox + Vimperator + NoScript + Flashblock.

Таймер для учёта времени сборки кубика Рубика и прочих головоломок. Более подробно о возможностях таймера написано ниже скриншота. Могу сказать одно, я пользуюсь своим таймером, так как считаю его наиболее удобным для меня лично. Буду рад, если и вам мой таймер понравится.

Режим таймера:

Вся графика сделана моим хорошим приятелем и вообще приятным во всех отношениях человеком – Виктором Брановцом. Огромное ему спасибо!

Видео на YouTube: Rubik’s cube Stop-watch

Скачать версию для Linux.
Скачать версию для Windows.
Версии Mac OS X пока нет, но при возникновении спроса будет сделана.

Возможности:

  • Несколько дисциплин – от 2х2х2 до 7х7х7, пирамидки, скваеры, и.т.д.
  • Учет даты, времени, и скрэмбла для каждой засечки.
  • Отображение текущего времени засечки большими цифрами.
  • Отсчет 15 секунд и автоматический старт таймера, либо “ранний” старт по желанию пользователя (сработает на отпускание пробела).
  • Отображение лучшего и худшего времени.
  • Отображение среднего времени по всем засечкам (без учета лучшего и худшего времени).
  • График засечек с тултипом.
  • Возможность удаления последней засечки, установка флага +2 или DNF для последней засечки.

continue reading…

BitlBee – демон, который выполняет роль гейта из IRC в другие популярные IM протоколы. Установил у себя локально, в качестве гейта в Jabber. В качестве IRC-клиента использовал мною любимый консольный WeeChat. Вполне удобно.
Работает сия штука следующим образом: из любимого IRC-клиента подключаемся к BitlBee (в моем случае это localhost на стандартном для IRC порте). Бот по имени root проведет с вами краткий инструктаж, которого будет более чем достаточно для начала работы.
Кол-во аккаунтов не ограничено, общаться можно прямо на канале, предваряя текст сообщения именем контакта, которому отправляете сообщение (это сообщение увидит только он). Или можно открыть отдельное окно для этого контакта, BitlBee запомнит это и будет адресовать соответствующие сообщения в нужное окно. Для каждого контакта (окна) можно указать свою собственную кодировку.
Одним словом, любителям IRC будет привычно и удобно.

Speccy Screenshot Maps – на сайте размещено более 1100 карт из игр для ZX-Spectrum. Владелец ресурса так же написал утилиту, которая позволяет делать снимки экрана игры в эмуляторе, и утилиту, которая склеит эти снимки в одну большую карту.

Как и обещал, выкладываю свой CPU-монитор, который я написал для Ion3. Естественно его можно использовать для любого WM.
Плюсы – он делает все то, что нужно было мне ;)
Минусы – конфигурация размера окна и цветов не вынесена в конфигурационный файл, но настоящего джедая это не должно отпугнуть.

Скачать CPU Statistic History, лицензия GPL v2.

В поисках утилиты захвата экрана OpenGL-приложения я наткнулся на captury (media-video/captury). Captury не умеет паковать фреймы “налету”, просто пишет их как есть в контейнер своего формата. Но есть утилита, которая умеет работать с этим форматом.

Захват:

$ captury --output-dir=./ -- your_opengl_application

Для старта захвата видео нужно нажать кнопочку F12 (настройки меняются в /etc/captury.conf, спасибо за подсказку ftrvxmtrx).

Воспроизведение:

$ cpsrecode -i capture.cps -o - | mplayer -demuxer y4m -

Кодирование в theora:

$ cpsrecode -i capture.cps -o out.ogg -c theora

или

$ cpsrecode -i capture.cps -o - | ffmpeg2theora -o out.ogg -

У меня с конфигом по умолчанию ivman запускается почти 6 (шесть) секунд. Можно пожертвовать определением уже подключенных устройств во время старта ivman и сократить время запуска до 200 миллисекунд.
В файле /etc/ivman/IvmConfigActions.xml меняем значение checkOnInit с true на false:

<ivm:Option name="checkOnInit" value="false" />

Сделал небольшой патч для Midnight Commander 4.6.2, который позволяет включать/выключать отображение скрытых файлов по Alt+. (точка) и переключать расположение панелей с вертикального на горизонтальное по Alt+, (запятая).
Так же сделал Gentoo ebuild mc-4.6.2_p1.ebuild.
Поместите ebuild в /usr/local/portage/app-misc/mc, а патч в /usr/local/portage/app-misc/mc/files/. Создайте digest:

ebuild mc-4.6.2_p1.ebuild digest