BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
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 G_BEGIN_DECLS
6 
7 // == BSE Initialization ==
8 void bse_bindtextdomain ();
9 void _bse_init_async (int *argc, char **argv, const char *app_name, const Bse::StringVector &args);
10 bool _bse_initialized ();
11 void bse_init_inprocess (int *argc, char **argv, const char *app_name, const Bse::StringVector &args = Bse::StringVector());
12 void bse_init_test (int *argc, char **argv, const Bse::StringVector &args = Bse::StringVector());
13 void bse_main_wakeup ();
14 SfiGlueContext* _bse_glue_context_create (const char *client, const std::function<void()> &caller_wakeup);
15 
16 /* --- global macros --- */
17 #define BSE_THREADS_ENTER() // bse_main_global_lock ()
18 #define BSE_THREADS_LEAVE() // bse_main_global_unlock ()
19 #define BSE_DBG_EXT (bse_main_args->debug_extensions != FALSE)
20 #define BSE_CONFIG(field) (bse_main_args->field)
21 
22 /* --- argc/argv overide settings --- */
23 struct BseMainArgs {
24  uint n_processors;
25  /* # values to pad around wave chunk blocks per channel */
26  uint wave_chunk_padding;
27  uint wave_chunk_big_pad;
28  /* data (file) cache block size (aligned to power of 2) */
29  uint dcache_block_size;
30  /* amount of bytes to spare for memory cache */
31  uint dcache_cache_memory;
32  uint midi_kammer_note;
33  /* kammer frequency, normally 440Hz, historically 435Hz */
34  double kammer_freq;
35  const char *path_binaries;
36  const char *bse_rcfile;
37  const char *override_plugin_globs;
38  const char *override_script_path;
39  const char *override_sample_path;
40  bool stand_alone;
42  bool force_fpu;
46  bool load_drivers_early;
47  bool dump_driver_list;
48  int latency;
49  int mixing_freq;
50  int control_freq;
51  SfiRing *pcm_drivers;
52  SfiRing *midi_drivers;
53 };
54 
55 /* --- internal --- */
56 void _bse_init_c_wrappers ();
57 extern BseMainArgs *bse_main_args;
58 extern GMainContext *bse_main_context;
59 
60 G_END_DECLS
61 
62 #endif /* __BSE_MAIN_H__ */
bool stand_alone
Initialization argument "stand-alone" - no rcfiles, boot scripts, etc.
Definition: bsemain.hh:40
bool force_fpu
Initialization argument "force-fpu" - avoid vectorized optimizations.
Definition: bsemain.hh:42
bool load_core_plugins
Initialization argument "load-core-plugins" - enable core plugin bootup.
Definition: bsemain.hh:43
void bse_bindtextdomain()
Bind the BSE text domain, so bse_gettext() becomes usable; may be called before initializing BSE...
Definition: bsemain.cc:57
Definition: sfiring.hh:23
bool debug_extensions
Initialization argument "debug-extensions" - enable debugging extensions.
Definition: bsemain.hh:45
Definition: bsemain.hh:23
bool load_core_scripts
Initialization argument "load-core-scripts" - enable core script bootup.
Definition: bsemain.hh:44
bool allow_randomization
Initialization argument "allow-randomization" - enables non-deterministic behavior.
Definition: bsemain.hh:41