Re: [LAU] Bitwig: what we can learn from it

From: Chris Cannam <cannam@email-addr-hidden-day-breakfast.com>
Date: Wed Apr 02 2014 - 19:01:46 EEST

On Mon, Mar 31, 2014, at 03:02 PM, Alexandre Prokoudine wrote:
> Moreover, not producing any sound by default from MIDI data is exactly
> the problem that Rosegarden specifically had to address in the _FAQ_

Certainly the biggest problem for new users of Rosegarden. And it's a
situation where a project planned cooperatively can find itself at an
evolutionary disadvantage.

In a company with a proprietary product this would inevitably come to a
head: there would be a meeting, called for the purpose of resolving the
problem of making sure sound came out by default. It might not be a very
effective meeting but everyone there would be clear that this problem
had to be solved or there would be no product. And the solution might
not be a very good one, likely it wouldn't be at all elegant, but the
sound would eventually get made.

In a project with a single core developer who is also the "prototype"
user, a similar process (without the meeting) might happen. Such
questions often get resolved by the developer deciding they really
didn't care to do anything about it, but that could be OK anyway -- it
would be reflected in the way the program was presented to the world --
it's "for people like me", developers who don't care about that detail.

Rosegarden found itself in an unhappy middle ground. It was very much
supposed to be accessible to new users, and its developers cared very
much that it didn't make any sound by default. But no solution seemed to
be available that was really workable for everything else that the
developers cared about.

For example, a default track used General MIDI program names and no GM
soundfont was available under a suitable licence. The question of
whether a track played out through the MIDI interface or through a synth
plugin was baked into that track, and taking a MIDI track and playing it
through a plugin would make an awkward technical and user-interface
compromise. Synth plugins in Rosegarden require JACK, and we had as many
users who were cross about the difficulty of getting JACK running as we
did who were cross about the lack of sound by default.

(That last point perhaps just illustrates the dangers of listening to
your users -- people who couldn't make the thing make any noise did not
become users.)

I've been away from the coalface for a bit; it might be interesting to
take stock and see whether there is a more obvious right way to do it by
now. I suspect it would start by canning the ALSA MIDI support and going
JACK-only, since ALSA MIDI support contributes much of the complexity of
Rosegarden's sequencer code, but I don't really know. Like any developer
who worked too long on a project, I sometimes dream of tearing apart
Rosegarden to its component blocks and rebuilding it more neatly -- but
I will surely never do it.

Chris
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Wed Apr 2 20:15:02 2014

This archive was generated by hypermail 2.1.8 : Wed Apr 02 2014 - 20:15:02 EEST