Bug 20433

Summary: Отсутствует init скрипт для timidity
Product: Sisyphus Reporter: Aleksandr Yakimov <yaleks>
Component: TiMidity++Assignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: aen, aris, dkoryavov, erthad, mike, shrek, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 19564, 17728    
Attachments:
Description Flags
initial initscript sketch
none
updated initscript sketch
none
initial sysconfig file
none
fixed initscript none

Description Aleksandr Yakimov 2009-06-13 14:14:22 MSD
Нынче мало звуковых плат с аппаратной поддержкой MIDI, потому необходимо делать программный синтез. Предлагать запускать вручную "timidity -iAD" каждый раз, когда есть необходимость в проигрывании MIDI-файла не user-friendly подход.

Для примера см. http://www.gentoo.org/doc/ru/alsa-guide.xml#doc_chap4_sect2
Comment 1 Michael Shigorin 2009-06-14 00:53:43 MSD
s/major/enhancement/ -- см. http://www.altlinux.org/BugSeverityPolicy и поскольку это не единственный режим использования софтинки.  Мало того, ещё и режим, совсем не используемый мной как майнтейнером :-)

Александр, не хотите глянуть /etc/init.d/template и нарисовать инитскрипт, который бы Вас лично устроил?  В пакет проверенный добавить удобнее, чем узнавать новое о пакете, которым сам давно особо не пользуешься.

Если же интереса и здоровья хватает -- то можете попробовать и весь пакет взять под свою опёку, в timidity-talk@ и посейчас то патчики какие-то пролетают, то ссылки на patch set'ы.
Comment 2 Michael Shigorin 2009-07-20 18:29:30 MSD
Created attachment 3678 [details]
initial initscript sketch

Александр, можете глянуть приложенный набросок -- устроит такой?  Он имеет как минимум тот недостаток, что запуск производится от root, при интеграции в пакет надо будет ещё псевдопользователя стряпать, но хоть работает или нет.

2 ldv: а как бы просунуть некоторые полезные, но не поддерживаемые у нас в /etc/rc.d/init.d/functions::start_daemon() параметры из вот такого Gentoo/portage/media-sound/timidity++/files/init.d.timidity.3?  Или достаточно --user, а --chdir всё равно косметический?

        start-stop-daemon --start --background --chdir /usr/share/timidity \
        --chuid timidity:audio --make-pidfile --pidfile /var/run/timidity.pid \
        --exec /usr/bin/timidity -- -iA ${TIMIDITY_OPTS}
Comment 3 Aleksandr Yakimov 2009-07-20 23:31:15 MSD
(В ответ на комментарий №2)
> Александр, можете глянуть приложенный набросок -- устроит такой?  Он имеет как
> минимум тот недостаток, что запуск производится от root, при интеграции в пакет
> надо будет ещё псевдопользователя стряпать, но хоть работает или нет.
Меня всё устроит, лишь бы работало. Я посмотрел, что на форуме учителя спрашивают про MIDI, но что в рассылках, что там до оргвыводов доходит нечасто :)

К этому скрипту ещё параметры в /etc/conf.d/timidity лежат "TIMIDITY_OPTS="-B2,8 -Os -EFreverb=0" (в альте такое наверно в /etc/sysconfig кладут).

Вообще вместо него "ведущие собаководы" рекомендуют FluidSynth (меньше латентность).
Comment 4 AEN 2009-08-16 18:03:35 MSD
(В ответ на комментарий №3)

> 
> Вообще вместо него "ведущие собаководы" рекомендуют FluidSynth (меньше
> латентность).

У нас и этот в хозяйстве есть
Comment 5 AEN 2009-08-16 18:05:43 MSD
См. обсуждение учителей: http://forum.altlinux.org/index.php/topic,176.0.html
Вешаю на #19564
Comment 6 Michael Shigorin 2009-08-16 18:16:04 MSD
Created attachment 3741 [details]
updated initscript sketch

(In reply to comment #3)
> > Александр, можете глянуть приложенный набросок -- устроит такой?
> Меня всё устроит, лишь бы работало.
А можете всё-таки глянуть и сказать -- да или нет?

> Я посмотрел, что на форуме учителя  спрашивают про MIDI, но что в рассылках,
> что там до оргвыводов доходит нечасто :)
Есть такая беда, но лучше всего, когда заинтересованность в пакете личная, а этот я уже много лет сопровождаю по старой памяти, а не как пользователь.

Может, возьмётесь за него?  Чем смогу -- помогу, в т.ч. общением с апстримом при необходимости.

> К этому скрипту ещё параметры в /etc/conf.d/timidity лежат
> "TIMIDITY_OPTS="-B2,8 -Os -EFreverb=0" (в альте такое наверно в /etc/sysconfig
> кладут).
Да, проморгал -- поправил инитскрипт, проверите?

(In reply to comment #5)
> См. обсуждение учителей: http://forum.altlinux.org/index.php/topic,176.0.html
> Вешаю на #19564
Хорошо бы это помогло тестированию приложенного или появлению майнтейнера.
Могу добавить @everyone в ACL.
Comment 7 Michael Shigorin 2009-08-16 18:16:32 MSD
Created attachment 3742 [details]
initial sysconfig file
Comment 8 Valery Inozemtsev 2009-08-16 18:34:06 MSD
для чего нужен timidity? точнее откуда планируется воспроизводить midi файлы? если из стандартных произрывателей, то xine/gstreamer midi играют без всяких костылей
Comment 9 AEN 2009-08-16 18:39:02 MSD
(В ответ на комментарий №8)
> для чего нужен timidity? точнее откуда планируется воспроизводить midi файлы?
> если из стандартных произрывателей, то xine/gstreamer midi играют без всяких
> костылей
Надо посмотреть, какие штатные проигрыватели в Gnome и KDE. Жалобы на форуме были на неработающий kmidi, что естественно.
Вопрос к zerg и aris.
Comment 10 AEN 2009-08-16 18:40:35 MSD
(В ответ на комментарий №9)
> (В ответ на комментарий №8)
> > для чего нужен timidity? точнее откуда планируется воспроизводить midi файлы?
> > если из стандартных произрывателей, то xine/gstreamer midi играют без всяких
> > костылей
> Надо посмотреть, какие штатные проигрыватели в Gnome и KDE. Жалобы на форуме
> были на неработающий kmidi, что естественно.
> Вопрос к zerg и aris.
И в xfce, 2dkoryavov
Comment 11 Yuri N. Sedunov 2009-08-16 19:04:32 MSD
(In reply to comment #9)
> (В ответ на комментарий №8)
> > для чего нужен timidity? точнее откуда планируется воспроизводить midi файлы?
> > если из стандартных произрывателей, то xine/gstreamer midi играют без всяких
> > костылей
> Надо посмотреть, какие штатные проигрыватели в Gnome и KDE. Жалобы на форуме
> были на неработающий kmidi, что естественно.
> Вопрос к zerg и aris.

rhythmbox играет midi.
Comment 12 Michael Shigorin 2009-08-16 22:31:24 MSD
BTW:
< TiMidity++ add @everybody
> OK: TiMidity++: mike damir stanv @everybody
Summary: acl change transaction COMPLETE.
Comment 13 Aleksandr Yakimov 2009-09-01 18:41:18 MSD
(В ответ на комментарий №6)
> А можете всё-таки глянуть и сказать -- да или нет?
Нет, такой не подходит. Это легко проверить, что не уходит в фон и init скрипт не завершается.
Comment 14 Michael Shigorin 2009-09-01 21:38:26 MSD
Created attachment 3818 [details]
fixed initscript

(посмотрев в ман) Да, и впрямь нужно -iAD вместо -iA.  Проверьте ещё приложенный инитскрипт, а я пока с ним пакет соберу.
Comment 15 Aleksandr Yakimov 2009-09-01 22:07:57 MSD
(В ответ на комментарий №14)
> Created an attachment (id=3818) [details]
> fixed initscript
> 
> (посмотрев в ман) Да, и впрямь нужно -iAD вместо -iA.  Проверьте ещё
> приложенный инитскрипт, а я пока с ним пакет соберу.
Так работает.
Неплохо бы учесть comment #2 по поводу рута.
Comment 16 Repository Robot 2009-09-02 21:53:38 MSD
TiMidity++-2.13.2-alt10 -> sisyphus:

* Wed Sep 02 2009 Michael Shigorin <mike@altlinux> 2.13.2-alt10

- introduced initscript (closes: #20433)
- replaced debian menufile with freedesktop one
- /etc/timidity.cfg is now non-autoreplaceable config
Comment 17 Michael Shigorin 2009-09-02 22:19:23 MSD
(In reply to comment #15)
> Неплохо бы учесть comment #2 по поводу рута.
Неплохо бы, но тут ещё попадаем на права доступа к /dev/snd/seq (ой, забыл ещё
добавить в инитскрипт проверку/загрузку snd-seq.ko).  Со всеми этими
современными уро^W^W ConsoleKit я даже не соображу, как бы это оформить. :-(