Re: [tim-janik/beast] One fluid synth per track (#102)



@tim-janik requested changes on this pull request.

What this doesn't implement is changing the soundfont on a track while the project is playing
(the gui doesn't let me do this anyway), but this could be implemented by preparing a new
fluid_synth instance and exchanging it on the fly using an engine job.

The reason the GUI blocks instrument changes is that the BSE core hasn't had support for this yet. If soundfonts can implement changes during runtime, the associated, we'll of course release that restriction and make it user accessible. I guess that's better left for another PR, right?


In bse/bsesoundfont.cc:

> @@ -12,6 +12,8 @@
 
 #define parse_or_return         bse_storage_scanner_parse_or_return
 
+using std::string;

We need to get rid of global using clauses. The std namespace defines lots of lower case symbols/types that are likely to clash with variable names in our code, so it's best to always use explicit prefixing (like std::string, std::max). For this case specifically, there's also Bse::String, so at least inside the Bse namespacse, String can simply be used. Also, using clauses are not as bad in inner scopes, like do { using Bse; String s; ... } while (...)


In bse/bsesoundfont.cc:

> @@ -186,12 +186,12 @@ bse_sound_font_reload (BseSoundFont *sound_font)
   return bse_sound_font_load_blob (sound_font, sound_font_impl->blob, FALSE);
 }
 
-int
-bse_sound_font_get_id (BseSoundFont *sound_font)
+string

Should be std::string.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.



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