Page 1 of 1

Timidity++ and Pulse Audio

PostPosted: Aug 19th, '14, 15:30
by ZombieRyushu
Upon upgrading to Mageia 4, Timidity starts up too early due to the multi-seat setup in Pulse Audio to be started as a Service. Under Mageia 3, Pulse Audio had its own systemd definition file, and Timidity could be instructed to start after that. But with Mageia 4, Timidity starts too early, and locks the sound card, Pulse Audio fails to start correctly as a result. How can I configure Timidity to start upon user login or later so Pulse Audio has plenty of time to be in place?

Re: Timidity++ and Pulse Audio

PostPosted: Aug 19th, '14, 20:05
by doktor5000
What desktop environment do you use? E.g. in KDE you can define certain conditions when an application/script should be started.

Otherwise you can easily write a shell script, that checks as your user if pulseaudio --check and pactl stat come back with return code of 0 or if /run/user/$(id -u)/pulse is writable to your user.

Re: Timidity++ and Pulse Audio

PostPosted: Aug 20th, '14, 08:36
by ZombieRyushu
KDE, but Timidity is a sysvinit script conmtrolled by the timidity-init package. it starts timidity as a Daemon. Under Mageia 3, Pulse Audio had a system service that could be required.

Re: Timidity++ and Pulse Audio

PostPosted: Aug 20th, '14, 21:46
by doktor5000
Well, then adapt the initscript. What timidity package do you use? The one from the Mageia repos doesn't contain any init script:

Code: Select all
[doktor5000@Mageia4 ~]$ urpmq -l TiMidity++
/etc/timidity
/etc/timidity/timidity-custom.cfg
/usr/bin/timidity
/usr/lib/timidity
/usr/lib/timidity/if_gtk.so
/usr/lib/timidity/if_ncurses.so
/usr/share/applications/TiMidity++.desktop
/usr/share/doc/TiMidity++
/usr/share/doc/TiMidity++/AUTHORS
/usr/share/doc/TiMidity++/ChangeLog
/usr/share/doc/TiMidity++/FAQ
/usr/share/doc/TiMidity++/INSTALL
/usr/share/doc/TiMidity++/NEWS
/usr/share/doc/TiMidity++/README
/usr/share/doc/TiMidity++/README.alsaseq
/usr/share/doc/TiMidity++/README.dl
/usr/share/doc/TiMidity++/README.m2m
/usr/share/doc/TiMidity++/README.mts
/usr/share/doc/TiMidity++/README.sf
/usr/share/icons/hicolor/48x48/apps/TiMidity++.png
/usr/share/man/ja/man1/timidity.1.xz
/usr/share/man/ja/man1/timidity.cfg.5.xz
/usr/share/man/man1/timidity.1.xz
/usr/share/man/man5/timidity.cfg.5.xz
/usr/share/timidity

Re: Timidity++ and Pulse Audio

PostPosted: Aug 21st, '14, 02:30
by ZombieRyushu
It was a port of a noarch Mandriva script, The fact is I just need Timidity to start at the right time.

Re: Timidity++ and Pulse Audio

PostPosted: Aug 21st, '14, 19:46
by doktor5000
Then write a proper systemd unit for it to get the dependencies correct. Check e.g. https://wiki.archlinux.org/index.php/timidity#Daemon

Re: Timidity++ and Pulse Audio

PostPosted: Aug 22nd, '14, 04:59
by ZombieRyushu
What systemd ddependency should I link this against?

Re: Timidity++ and Pulse Audio

PostPosted: Aug 22nd, '14, 06:53
by doktor5000
Well the latest that starts on your box - so probably multi-user.target

Re: Timidity++ and Pulse Audio

PostPosted: Aug 25th, '14, 17:44
by ZombieRyushu
Getting closer: After I log in, I can start timidity -iA and get Midi. But this doesn't Daemonize. Any suggestions?

Re: Timidity++ and Pulse Audio

PostPosted: Aug 25th, '14, 20:11
by doktor5000
Use the the systemd user unit as pointed out above. Or run it via nohup. Or ask in TiMidity++ mailing lists.

Apart from that, you're missing details how you're starting it exactly. Via script during login, interactively via terminal, ... ?