Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bsemain.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_MAIN_H__
3 #define __BSE_MAIN_H__
4 #include <bse/bsetype.hh>
5 // == BSE Initialization ==
6 void _bse_init_async (int *argc, char **argv, const char *app_name, const Bse::StringVector &args);
7 bool _bse_initialized ();
8 void bse_init_inprocess (int *argc, char **argv, const char *app_name, const Bse::StringVector &args = Bse::StringVector());
9 void bse_init_test (int *argc, char **argv, const Bse::StringVector &args = Bse::StringVector());
10 void bse_main_wakeup ();
11 SfiGlueContext* _bse_glue_context_create (const char *client, const std::function<void()> &caller_wakeup);
12 
13 /* --- global macros --- */
14 #define BSE_THREADS_ENTER() // bse_main_global_lock ()
15 #define BSE_THREADS_LEAVE() // bse_main_global_unlock ()
16 #define BSE_DBG_EXT (bse_main_args->debug_extensions != FALSE)
17 #define BSE_CONFIG(field) (bse_main_args->field)
18 
19 /* --- argc/argv overide settings --- */
20 struct BseMainArgs {
21  uint n_processors;
22  /* # values to pad around wave chunk blocks per channel */
23  uint wave_chunk_padding;
24  uint wave_chunk_big_pad;
25  /* data (file) cache block size (aligned to power of 2) */
26  uint dcache_block_size;
27  /* amount of bytes to spare for memory cache */
28  uint dcache_cache_memory;
29  uint midi_kammer_note;
30  /* kammer frequency, normally 440Hz, historically 435Hz */
31  double kammer_freq;
32  const char *path_binaries;
33  const char *bse_rcfile;
34  const char *override_plugin_globs;
35  const char *override_script_path;
36  const char *override_sample_path;
37  bool stand_alone;
39  bool force_fpu;
43  bool load_drivers_early;
44  bool dump_driver_list;
45  int latency;
46  int mixing_freq;
47  int control_freq;
48  SfiRing *pcm_drivers;
49  SfiRing *midi_drivers;
50 };
51 
52 /* --- internal --- */
53 void _bse_init_c_wrappers ();
54 extern BseMainArgs *bse_main_args;
55 extern GMainContext *bse_main_context;
56 
57 #endif /* __BSE_MAIN_H__ */
bool stand_alone
Initialization argument "stand-alone" - no rcfiles, boot scripts, etc.
Definition: bsemain.hh:37
bool force_fpu
Initialization argument "force-fpu" - avoid vectorized optimizations.
Definition: bsemain.hh:39
bool load_core_plugins
Initialization argument "load-core-plugins" - enable core plugin bootup.
Definition: bsemain.hh:40
Definition: sfiring.hh:21
bool debug_extensions
Initialization argument "debug-extensions" - enable debugging extensions.
Definition: bsemain.hh:42
vector< String > StringVector
Definition: bsemain.hh:20
bool load_core_scripts
Initialization argument "load-core-scripts" - enable core script bootup.
Definition: bsemain.hh:41
bool allow_randomization
Initialization argument "allow-randomization" - enables non-deterministic behavior.
Definition: bsemain.hh:38