[haiku-bugs] Re: [Haiku] #9920: BSynth upgrade

  • From: "jackburton" <trac@xxxxxxxxxxxx>
  • Date: Tue, 23 Sep 2014 04:44:36 -0000

#9920: BSynth upgrade
-----------------------------+-------------------------
   Reporter:  Pete           |      Owner:  korli
       Type:  enhancement    |     Status:  new
   Priority:  normal         |  Milestone:  R1
  Component:  Kits/Midi Kit  |    Version:  R1/alpha4.1
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  1              |   Platform:  All
-----------------------------+-------------------------

Comment (by jackburton):

 Replying to [comment:29 Pete]:
 > Replying to [comment:28 jackburton]:
 > > Replying to [comment:27 Pete]:
 > > > I think your code is crashing due to a race condition.  GetAudio can
 get invoked just when fMonitor has been deleted.
 > >
 > > If this kind of race condition exists, I guess we should use locking
 to protect these variables.
 > >
 > No, locking shouldn't be needed here.  GetAudio won't try to read
 fMonitor until it has been created, and once it has it won't be deleted
 until the synth has stopped.  It doesn't matter what data is there, as
 long as there's something.

 Doesn't look like a so useful function then :-)
 Seriously... the only use we have for it in the tree (for now) is the MIDI
 Player scope ?

 > BTW, could you [just for me...(:-)] add a B_SYSTEM_SETTINGS_DIRECTORY
 check after the B_USER_SETTINGS_DIRECTORY one, and also check for
 synth.sf2 in B_SYNTH_DIRECTORY just before finally devolving to
 big_synth.sy.

 Done in hrev47897

 > As far as I can see, though, the only old BeOS app that might be able to
 use big_synth.sy in Haiku is MidiSynth1.7.  However, it does things
 "cleverly", looking in B_SYNTH_DIRECTORY for a list of whatever's there,
 so it doesn't need it.  Everything else I've found that might want it
 can't find it in Haiku anyway (hard-coded probably, but I don't have the
 sources).  So I think it could be removed now without anyone being
 bothered.

 Ok. I have another question. Let's say we drop big_synth.sy, and prepare a
 set of packages containing different soundfonts, and the user picks and
 installs one of them, or more than one. How would you select the "default"
 soundfont in that case ? Meaning before the user has configured its
 preferred soundfont via symlink or via the not-yet-done midi preflet ?
 Should we just pick a random one ?

--
Ticket URL: <https://dev.haiku-os.org/ticket/9920#comment:31>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: