denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] switching Midi/Audio out


From: Richard Shann
Subject: Re: [Denemo-devel] switching Midi/Audio out
Date: Fri, 06 Nov 2009 21:29:38 +0000

On Fri, 2009-11-06 at 18:03 +0100, Nils wrote:
> On Fri, 6 Nov 2009 09:52:40 -0600
> Jeremiah Benham <address@hidden> wrote:
> 
> > When switching from fluidsynth to jack. fluidsynth will need to
> > be stopped. Then if fluidsynth was not already using the jack driver
> > jack would need to be started. Should denemo start the jack server?
> 
> I think Denemo should not start it nor give the option to start it.
> A JACK session with no config options usually runs not or like crap.
> 
> If Denemo offers to start JACK without the possibility of customizing Jack's 
> preferences it will look like its Denemo's fault if it does not work, which 
> is very likely.
> Its better to rely on external software like QJackctl or whatever people like.

FWIW what Nils says here sounds right to me.

Richard



> 
> What Denemo should do is detect JACK at startup and switch to JACK-mode if 
> possible. A JACK server is nothing you start by accident so if its running we 
> can assume that the user wants JACK. But it should be possible to switch to 
> fluidsynth (with jack as audio driver) any time without loosing your 
> jack-midi connections.
> 
> 
> Of course you all know that I don't think portaudio is necesarry anymore so 
> of course I have to say:
> If Jack is not running Denemo should go straight into fluidsynth-mode which 
> auto-detecs which audio-driver is there. 
> 
> If fluid is not there, there is still portaudio (or Denemo could say "no 
> audio-output possible - but notation and lilypond is, have fun" :) )
> 
> Three more thoughts.
> 
> 1.
> Can the compile process be automated? configure looks which packages (jack, 
> fluidsynth, portaudio) are there and gives a quick summarize-table at the end 
> which featueres your Denemo will have if you start "make" now.
> 
> 2.
> Ardour has some kind of "start" window which is there before it starts. There 
> you can select previous sessions/files, select templates and start JACK with 
> settings you can choose. We could design a similar thing.
> 
> 3.
> I think there is a "file" driver in fluidsynth which renders the output to a 
> wave file and even works if the computer has no sound interface at all. This 
> could be a nice additional feature. "Render from measure x to y". 
> 
> 
> 
> 
> > Should it start the jack server if the jack on startup is set in
> > preferences? ....Or should there be a pop up dialog telling the user
> > that "jack needs to be started in order for jack output to work. Would
> > you like me to start it for you. If you choose no then you will need
> > to start it yourself and then click on start/restart jack client in
> > preferences"   
> > 
> > I wrote kind of a flow chart to plan out how we are going to deal with
> > switching between midi/audio outputs. This is what it looks like:
> > 
> >      if portaudio->fluidsynth 
> >         if fluidsynth driver == jack
> >           if jackserver_on_startup
> >             startjackserver
> >             startfluidsynth
> >         else 
> >           startfluidsynth
> >      if portaudio->jack
> >        if jackserver_on_startup
> >          startjackserver
> >          startdenemojack
> >      if jack->portaudio
> >         stopdenemojack
> >         stopjackserver
> >      if jack->fluidsynth 
> >         stopdenemojack 
> >         if fluidsynth driver != jack
> >           stopjack      
> >         startfluid
> >      if fluidsynth->jack
> >         stop fluidsynth
> >           if fluidsynth driver == jack
> >             startdenemojack? 
> >           else
> >             if jackserver_on_startup 
> >               startjackserver
> >               startdenemojack
> > 
> > This can probably be reduced somehow in code. Fluidsynth will need to
> > be stopped in order for portaudio to output sound on many soundcards.
> > The same is true with jack. On my laptop I would need to stop jack to
> > do fluidsynth unless the jack driver was used in fluidsynth. So maybe
> > I should look to see 
> >   if (Denemo.prefs.midi_audio_output != variable_going_to_be_assigned){ 
> >      exit_routines(varaible_in_preferences);
> >      start_up_routines(variable_going_to_be_assigned);
> >      Denemo.prefs.midi_audio_output = variable_going_to_be_assigned;
> >   }
> > 
> > Jeremiah
> > 
> > 
> > _______________________________________________
> > Denemo-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/denemo-devel
> > 
> 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]