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