Bug 757316 - timidity -iA broken since fc13 with rosegarden
Summary: timidity -iA broken since fc13 with rosegarden
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: timidity++
Version: 15
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jindrich Novy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-26 12:14 UTC by David W. Legg
Modified: 2013-07-02 23:53 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
: 846606 (view as bug list)
Environment:
Last Closed: 2012-08-07 16:36:05 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description David W. Legg 2011-11-26 12:14:55 UTC
Description of problem:
Here is the description of the problem from sourceforge, where the rosegarden maintainers say that this must be a Fedora-specific problem:-

This was Bug 2968887 and was fixed around FC11 time.
Rosegarden works with timidity under FC13, but is broken in FC14.

I used to be able to say:

timidity -iA &
rosegarden

and all the rosegarden contemporaneous MIDI/audio would work.
However, now, under FC14, I get no audio out, except that sometimes there is a blast of v. quick audio after exiting rosegarden.

I have:

rosegarden4-11.06-1.fc14.x86_64

timidity++-2.13.2-21.fc14.x86_64
libtimidity-0.1.0-8.fc12.x86_64

This is totally repeatable.
Any ideas? Ta.

See other comments on: https://sourceforge.net/tracker/index.php?func=detail&aid=3394463&group_id=4932&atid=104932

Version-Release number of selected component (if applicable):
FC14 and FC15.  Probably FC16 too, but not yet verified.
timidity++-2.13.2-25.fc15.1.i686
rosegarden4-11.06-1.fc15.i686

How reproducible:
100%

Steps to Reproduce:
1.timidity -iA &
2.rosegarden
3.enter some music and hit play button
  
Actual results:
No sound, although rosegarden appears to be able to see some MIDI output ports provided by timidity:
ALSA Client information:

    14,0 - (Midi Through, Midi Through Port-0)                  (DUPLEX) [ctype 2, ptype 655362, cap 99]
    128,0 - (TiMidity, TiMidity port 0)         (WRITE ONLY) [ctype 1, ptype 2, cap 66]
    128,1 - (TiMidity, TiMidity port 1)         (WRITE ONLY) [ctype 1, ptype 2, cap 66]
    128,2 - (TiMidity, TiMidity port 2)         (WRITE ONLY) [ctype 1, ptype 2, cap 66]
    128,3 - (TiMidity, TiMidity port 3)         (WRITE ONLY) [ctype 1, ptype 2, cap 66]

Expected results:
Some sound being played.

Additional info:

Also tried these instructions which work on Mageia, but with no sound:

If JACK is installed, Rosegarden starts it automatically (by default) and
you have to follow that steps to get sound:

-1) Start Rosegarden, but don't load any file (Rosegarden doesn't see any midi port as Timidity is not running still)
-2) Start timidity with: "timidity -iA -Oj" (as Jack is now started, Timidity can connect to it)
-3) Load a file to play in Rosegarden (which now sees the midi ports from Timidity) then play it.

Any insights appreciated :)

Comment 1 Hans de Goede 2011-11-27 15:47:57 UTC
Hi,

Starting rosegarden like this:
timidity -iA& rosegarden <path-to>/foo.mid
And then hitting the play button works fine for me.

Note that timidity will try to output to pulseaudio (through libao) by default now a days. Since you're using jack, maybe you've made some changes to Fedora's default audio setup, which could explain your problem. If jack is already running when you start timidity, then it may very well have your soundcard open, which means that pulse won't use it.

If your intention is to actually use jack for output, then starting timidity with the "timidity -iA -Oj" is the right thing to do.

Regards,

Hans

Comment 2 Christian Krause 2011-11-27 17:17:57 UTC
Hi,

I can see different behaviors in different Fedora versions:

F16:
- rosegarden seems to be able to output to timidity++
- but no sound
- once I close rosegarden, the sound is partially played
- the output of timidity++ (--verbose=2) is:
[ start of timidity ends with ]
TiMidity starting in ALSA server mode
Opening sequencer port: 128:0 128:1 128:2 128:3
[ pause, although rosegarden seems to play via timidity ]
[ after I quit rosegarden there is the expected output ]
Trying to open /usr/share/soundfonts/default.sf2
[...]
- problem not repeatable - sometimes it just works ;-)

F14:
- example works with the following timidity++ versions:
- timidity++-2.13.2-21.fc14.i686.rpm (original F14)
- timidity++-2.13.2-25.fc17.i686.rpm (re-compiled on F14)
- test repeatable, works always

F15:
- rosegarden does not automatically select the timidity++ port
- otherwise the same behavior as in F16

Additional notes:
- it looks like that jackd is always started, but I'm not sure about the exact data flow of the sound data
- even the newest timidity++ package works in F14, this may be in indication that alsa / PA / (or even jackd) behave differently
- the issue was present on all F16/F15 installations I have tested so far - none of them had any special alsa configuration

Best regards,
Christian

Comment 3 Hans de Goede 2011-11-28 09:55:42 UTC
Hi,

Can you try:
1) Disabling jackd (not sure how you would do that, but it never starts for me, so I guess undo whatever you did to enable it)
2) Putting a sleep between the starting of timidity and rosegarden, ie:
timidity -iA& sleep 1; rosegarden
It may be that you're hitting some race somewhere

Thanks,

Hans

Comment 4 David W. Legg 2011-11-28 10:55:32 UTC
Hi,
If I disable jackd with a chmod 000 /usr/bin/jackd,
rosegarden obviously still tries to start it and crashes.
I cannot see a way of stopping rosegarden from attempting to start jackd.

However, basically trying Hans' suggestion like this seems to work on FC14 (at present, anyway):

Start rosegarden, but do not load any files.
Check that rosegarden says 'MIDI OK, Audio OK' under Edit/Preferences.
ps -elf | grep jack to check that jackd is running.
timidity -iA -Oj and wait a few seconds.
Load .rg file into rosegarden.
Rewind and play now produces sound.

I need to see how reliable this is from day to day, and also try it on FC15.
NB that I also ticked the various boxes in rosegarden preferences to start the jack transport and automatically make connections (but not for every instrument.)

It would be really nice if this just worked out of the box, without any obscure settings, etc. without any (maybe?) critical races etc ... :)

:D

Comment 5 David W. Legg 2011-11-28 17:23:51 UTC
More info, but from FC15 this time.

Doing:-
1. rosegarden &
2. timidity -iA -Oj
3. Load file into rosegarden
4. Hit play.

a) sometimes works and produces sound.
b) sometimes does not work and produces no sound.
c) occasionally produces no sound until rosegarden is killed; then the notes get played really rapidly as rosegarden closes.

So that was all FC15.

I don't know how to disable jackd in order to do Hans' experiment without crashing rosegarden.

This is pretty similar to what Christian Krause is reporting (above).

Comment 6 David W. Legg 2011-11-29 18:48:41 UTC
This command (which people can put into a KDE application icon)
seems to work fairly reliably for me on FC14 and FC15.
I'm just not sure whether it is 100% reliable or not yet:-

rosegarden & (sleep 10;timidity -iA -Oj)

Maybe someone could try it on FC16?

The sleep 10 may need to be longer on slower machines.

Comment 7 Fedora End Of Life 2012-08-07 16:36:08 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping


Note You need to log in before you can comment on or make changes to this bug.