В общем-то сказать больше нечего:
http://karapuzz.blogspot.com/2009/09/fb2-openoffice.html
http://code.google.com/p/ooofbtools/
понедельник, 7 сентября 2009 г.
суббота, 30 мая 2009 г.
музыкальные "разрезалки"
Задача, разделить один flac файл всего диска, на отдельные файлы трэков. Нужно мне это, опять же, для удобного отображения списка файлов, а также, для возможности переноса отдельных песен на плеер или кпк.
В общем-то Google сразу же дает ответ на этот вопрос, остается только оформить это в скрипт.
Для разделения, добавления тэгов и переименовывания, понадобятся пакеты:
sudo aptitude install cuetools shntool lltag
Утилита cuebreakpoints из пакета cuetools, берет из файла cue временные точки для "обрезки" на трэки, а shnsplit уже обрезает по этим точкам. Для добавления к файлам тэгов используется cuetag, и наконец lltag - переименовывает файлы по данным из тэгов.
#!/bin/bash
if [ "$1" != *.cue ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
if [ "$2" != *.flac ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
#разрезаем
cuebreakpoints "$1" | shnsplit -o flac "$2"
#добавляем тэги
cuetag "$1" split*.flac
#переименование в вид "номер трэка_артист - название трэка", параметр --yes "автоматом" отвечает "да" на вопросы о содержании тэга и переименовании
lltag --yes --no-tagging --rename '%n_%a - %t' split*.flac
echo Done.
Вторая задача, вырезать кусок mp3-файла, например для использования рингтоном на телефоне.
Для таких целей есть маленький и быстрый инструмент - cutmp3.
Для работы в интерактивном режиме, открываем файл:
cutmp3 -i music.mp3
Для движения по файлу вперед используются клавиши от 6 до 0, на 0.1 с- 1с - 10с - 1м - 10м соответственно, назад от 5 до 1. Клавишей "a" отмечается начальная точка, "b" - конечная, "s" - "вырезать" между отмеченными точками.
Для "вырезки" определенного места:
cutmp3 -i file.mp3 -a 0:20 -b 1:02
Программа работает без перекодирования и потому моментально.
В общем-то Google сразу же дает ответ на этот вопрос, остается только оформить это в скрипт.
Для разделения, добавления тэгов и переименовывания, понадобятся пакеты:
sudo aptitude install cuetools shntool lltag
Утилита cuebreakpoints из пакета cuetools, берет из файла cue временные точки для "обрезки" на трэки, а shnsplit уже обрезает по этим точкам. Для добавления к файлам тэгов используется cuetag, и наконец lltag - переименовывает файлы по данным из тэгов.
#!/bin/bash
if [ "$1" != *.cue ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
if [ "$2" != *.flac ]
then
echo Usage ./flacorez file.cue file.flac
exit
fi
#разрезаем
cuebreakpoints "$1" | shnsplit -o flac "$2"
#добавляем тэги
cuetag "$1" split*.flac
#переименование в вид "номер трэка_артист - название трэка", параметр --yes "автоматом" отвечает "да" на вопросы о содержании тэга и переименовании
lltag --yes --no-tagging --rename '%n_%a - %t' split*.flac
echo Done.
Вторая задача, вырезать кусок mp3-файла, например для использования рингтоном на телефоне.
Для таких целей есть маленький и быстрый инструмент - cutmp3.
Для работы в интерактивном режиме, открываем файл:
cutmp3 -i music.mp3
Для движения по файлу вперед используются клавиши от 6 до 0, на 0.1 с- 1с - 10с - 1м - 10м соответственно, назад от 5 до 1. Клавишей "a" отмечается начальная точка, "b" - конечная, "s" - "вырезать" между отмеченными точками.
Для "вырезки" определенного места:
cutmp3 -i file.mp3 -a 0:20 -b 1:02
Программа работает без перекодирования и потому моментально.
среда, 27 мая 2009 г.
Маленькие полезняшки и не очень
Я довольно таки много читаю, в основном это делаю на КПК, а вот сама "коллекция" fb2-книг хранится на десктопе. Хотя книг не много, но в том виде в котором их отдают библиотеки, я имею ввиду имя файла, выбрать нужную да и вообще посмотреть "что есть", ну очень не удобно. Искать решение долго не пришлось. Товарищ или товарищи :) , разработчики fb2-читалки PyBookReader , также создали парочку маленьких полезняшек. Первая - ренеймер fb2 файлов (умеет работать с zip архивами) fb2desc . Читает discription книги и переименовывает файл, форматов переименования 6, но мне как-то не очень они понравились, а не понравилось то, что серия и номер книги в серии идут последним полем имени файла. Благо это просто скрипт на питоне,который даже мне удалось исправить под себя. Теперь формат имени файла таков:
Имя авторов - (Серия #Номер книги в серии) - Название.fb2
Что для сортировки и наглядности намного лучше, например сейчас правильная сортировка:
Гаррисон Гарри - (Крыса из нержавеющей стали #1) Рождение Стальной Крысы.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #2) Крыса из нержавеющей стали призвана в армию.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #3) Стальная Крыса.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #4) Месть крысы из нержавеющей стали.fb2
А было:
Гаррисон Гарри - Крыса из нержавеющей стали призвана в армию (Крыса из нержавеющей стали #2).fb2
Гаррисон Гарри - Месть крысы из нержавеющей стали (Крыса из нержавеющей стали #4).fb2
Гаррисон Гарри - Рождение Стальной Крысы (Крыса из нержавеющей стали #1).fb2
Гаррисон Гарри - Стальная Крыса (Крыса из нержавеющей стали #3).fb2
Вот такой я молодец :) , правда проблема с несколькими авторами книги осталась, но ее видимо без создания отдельной директории не решить.
Вторая полезняшка, это консольная читалка fbless от тех же товарищей. Для быстрого просмотра-поиска чего-то большего и не надо. Также умеет открывать файлы из архивов.
Третья, "не очень" полезняшка, чудная малютка screenie , из нескольких изображений делает одно но гламурное :) , очень красиво.
Четвертая и последняя, но от того не менее полезная :) , скроблер для mpd , mpdscribble, просто отправляет на last.fm информацию о проигрываемом треке и больше ничего, на просторах репозиториев Debian водится в виде пакета.
Ну раз сказал что, четвертая последняя, то всё.
Имя авторов - (Серия #Номер книги в серии) - Название.fb2
Что для сортировки и наглядности намного лучше, например сейчас правильная сортировка:
Гаррисон Гарри - (Крыса из нержавеющей стали #1) Рождение Стальной Крысы.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #2) Крыса из нержавеющей стали призвана в армию.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #3) Стальная Крыса.fb2
Гаррисон Гарри - (Крыса из нержавеющей стали #4) Месть крысы из нержавеющей стали.fb2
А было:
Гаррисон Гарри - Крыса из нержавеющей стали призвана в армию (Крыса из нержавеющей стали #2).fb2
Гаррисон Гарри - Месть крысы из нержавеющей стали (Крыса из нержавеющей стали #4).fb2
Гаррисон Гарри - Рождение Стальной Крысы (Крыса из нержавеющей стали #1).fb2
Гаррисон Гарри - Стальная Крыса (Крыса из нержавеющей стали #3).fb2
Вот такой я молодец :) , правда проблема с несколькими авторами книги осталась, но ее видимо без создания отдельной директории не решить.
Вторая полезняшка, это консольная читалка fbless от тех же товарищей. Для быстрого просмотра-поиска чего-то большего и не надо. Также умеет открывать файлы из архивов.
Третья, "не очень" полезняшка, чудная малютка screenie , из нескольких изображений делает одно но гламурное :) , очень красиво.
Четвертая и последняя, но от того не менее полезная :) , скроблер для mpd , mpdscribble, просто отправляет на last.fm информацию о проигрываемом треке и больше ничего, на просторах репозиториев Debian водится в виде пакета.
Ну раз сказал что, четвертая последняя, то всё.
пятница, 13 марта 2009 г.
Красивости
Теперь когда консоль удобная, хотелось бы чтобы она была ещё и радующей глаз красивой.
За красоту консоли отвечает bootsplash, который в ядрах Debian не включён, а в репозиториях нет пакета патча, но где наша не пропадала :)
Итак, берем исходники ядра и патч для bootsplash.
Патчим:
patch -p1 -i bootsplash-3.1.6-2.6.26.diff
Копируем конфиг от стандартного ядра
cp /boot/config-2.6.26-1-686 /usr/src/`версия ядра`/.config
Конфигурируем
make oldconfig
Отмечаем для компиляции bootsplash и
make
make modules_install install
Качаем пакеты bootsplash, bootsplash-theme-debian и устанавливаем, еще темы можно скачать здесь
Темы распаковываются в /etc/bootsplash/themes, на нужную тему создается символическая ссылка
ln -s /etc/bootsplas/themes/bstheme-tattoogirl /etc/bootsplash/themes/current
теперь создаем ram-диск initrd
mkinitramfs -o /boot/initrd.img-`версия ядра` `версия ядра`
Остается только отредактировать конфиг grub, что-то типа
title Debian GNU/Linux, kernel 2.6.26-my-bootsplash
root (hd0,0)
kernel /vmlinuz-2.6.26-my root=/dev/hda3 ro vga=791 splash=verbose
initrd /initrd-2.6.26-my
Всё. sudo reboot и

За красоту консоли отвечает bootsplash, который в ядрах Debian не включён, а в репозиториях нет пакета патча, но где наша не пропадала :)
Итак, берем исходники ядра и патч для bootsplash.
Патчим:
patch -p1 -i bootsplash-3.1.6-2.6.26.diff
Копируем конфиг от стандартного ядра
cp /boot/config-2.6.26-1-686 /usr/src/`версия ядра`/.config
Конфигурируем
make oldconfig
Отмечаем для компиляции bootsplash и
make
make modules_install install
Качаем пакеты bootsplash, bootsplash-theme-debian и устанавливаем, еще темы можно скачать здесь
Темы распаковываются в /etc/bootsplash/themes, на нужную тему создается символическая ссылка
ln -s /etc/bootsplas/themes/bstheme-tattoogirl /etc/bootsplash/themes/current
теперь создаем ram-диск initrd
mkinitramfs -o /boot/initrd.img-`версия ядра` `версия ядра`
Остается только отредактировать конфиг grub, что-то типа
title Debian GNU/Linux, kernel 2.6.26-my-bootsplash
root (hd0,0)
kernel /vmlinuz-2.6.26-my root=/dev/hda3 ro vga=791 splash=verbose
initrd /initrd-2.6.26-my
Всё. sudo reboot и
суббота, 28 февраля 2009 г.
Удобная консоль
В случаях, когда что-то не так установилось, не желает подниматься или вообще не установлен х-сервер, и т.п., спасением естественно является консоль, а сделать в ней можно всё и даже еще больше :) .
Во-первых, хорошо бы было видеть в консоле больше чем 80 столбцов, для этого нужно включить фреймбуфер. Ядра Debian уже сконфигурированы с его поддержкой, другие дистрибутивы не знаю, проверить можно так:
wtaket@debian:/boot$ cat config-"версия_ядра" | grep FRAMEBUFFER
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
Если ничего не найдено, то надо будет пересобрать ядро.
Теперь при загрузке GRUB, выбираем рабочее ядро и жмём "e", далее жмём "e" на строке параметров загрузки ядра, типа:
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda3 ro
и в конец строки добавляем:
vga=ask
жмём "Enter" и "b", появится таблица со списком поддерживаемых режимов, выбираем нужный и вводим код или букву соответствующую коду. Если загрузка прошла успешно и framebuffer работает, то редактируем /boot/grub/menu.lst
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda3 ro vga=код
код в таблице выводимой Grub это hex-число, поэтому перед ним ставим 0x
Стало намного удобнее :)
Во-вторых, удобство "табовых" эмуляторов терминала трудно переоценить, и без возможности запуска иксов тоже хотелось бы нечто подобное. Нечто подобное - screen.Небольшое добавление в конфигурационный файл ~/.screenrc:
caption always
caption string "%c %{kw}%-w%{wr}%n %t%{-}%+w"
Таким образом будет выводится строка заголовка(наподобие табов), с текущим временем и названием запущеной в нем программы.
Музыка у нас уже есть, но настроенный фреймбуфер дает нам возможность смотреть и видео. Для этого запускаем mplayer с параметрами:
mplayer -vo fbdev -zoom -xy 1024
последнее число - разрешение по горизонтале(вертикаль вычесляется автоматически) для вывода видео в полный экран.
Но при невозможности запуска Х-сервера, нам скорее нужны не мультимедиа возможности консоли, а средства общения с комьюнити и знакомыми гуру :).
Мультипротокольный im-клиент Finch, по сути консольная версия Pigin. Настройка из самого интерфейса программы, никаких проблем с utf8. Единственная "неудобность" - реализация интерфейса в виде перекрывающихся окон, да и при запуске в screen не работают "стрелки"(замена ctrl+p/n).
Браузер links2, а вот он не дружит с utf8, по крайней мере версия из тестовой ветки Debian. Но прочитать/найти что-то вполне себе ничего.
Ну вот тепреь можно "жить" в консоле :)
Во-первых, хорошо бы было видеть в консоле больше чем 80 столбцов, для этого нужно включить фреймбуфер. Ядра Debian уже сконфигурированы с его поддержкой, другие дистрибутивы не знаю, проверить можно так:
wtaket@debian:/boot$ cat config-"версия_ядра" | grep FRAMEBUFFER
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
Если ничего не найдено, то надо будет пересобрать ядро.
Теперь при загрузке GRUB, выбираем рабочее ядро и жмём "e", далее жмём "e" на строке параметров загрузки ядра, типа:
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda3 ro
и в конец строки добавляем:
vga=ask
жмём "Enter" и "b", появится таблица со списком поддерживаемых режимов, выбираем нужный и вводим код или букву соответствующую коду. Если загрузка прошла успешно и framebuffer работает, то редактируем /boot/grub/menu.lst
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda3 ro vga=код
код в таблице выводимой Grub это hex-число, поэтому перед ним ставим 0x
Стало намного удобнее :)
Во-вторых, удобство "табовых" эмуляторов терминала трудно переоценить, и без возможности запуска иксов тоже хотелось бы нечто подобное. Нечто подобное - screen.Небольшое добавление в конфигурационный файл ~/.screenrc:
caption always
caption string "%c %{kw}%-w%{wr}%n %t%{-}%+w"
Таким образом будет выводится строка заголовка(наподобие табов), с текущим временем и названием запущеной в нем программы.
Музыка у нас уже есть, но настроенный фреймбуфер дает нам возможность смотреть и видео. Для этого запускаем mplayer с параметрами:
mplayer -vo fbdev -zoom -xy 1024
последнее число - разрешение по горизонтале(вертикаль вычесляется автоматически) для вывода видео в полный экран.
Но при невозможности запуска Х-сервера, нам скорее нужны не мультимедиа возможности консоли, а средства общения с комьюнити и знакомыми гуру :).
Мультипротокольный im-клиент Finch, по сути консольная версия Pigin. Настройка из самого интерфейса программы, никаких проблем с utf8. Единственная "неудобность" - реализация интерфейса в виде перекрывающихся окон, да и при запуске в screen не работают "стрелки"(замена ctrl+p/n).
Браузер links2, а вот он не дружит с utf8, по крайней мере версия из тестовой ветки Debian. Но прочитать/найти что-то вполне себе ничего.
Ну вот тепреь можно "жить" в консоле :)
Подписаться на:
Сообщения (Atom)