BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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/bse.hh> /* initialization */
5 #include <bse/bsetype.hh>
6 G_BEGIN_DECLS
7 
8 // == BSE Initialization ==
9 void bse_init_textdomain_only (void);
10 void _bse_init_async (int *argc, char **argv, const char *app_name, const Bse::StringVector &args);
11 SfiGlueContext* _bse_glue_context_create (const char *client, const std::function<void()> &caller_wakeup);
12 const char* bse_check_version (guint required_major,
13  guint required_minor,
14  guint required_micro); // prototyped in bse.hh
15 
16 /* initialization for internal utilities */
17 void bse_init_inprocess (int *argc, char **argv, const char *app_name, const Bse::StringVector &args = Bse::StringVector());
18 void bse_init_test (int *argc, char **argv, const Bse::StringVector &args = Bse::StringVector());
19 void bse_main_wakeup ();
20 
21 /* --- global macros --- */
22 #define BSE_THREADS_ENTER() // bse_main_global_lock ()
23 #define BSE_THREADS_LEAVE() // bse_main_global_unlock ()
24 #define BSE_DBG_EXT (bse_main_args->debug_extensions != FALSE)
25 #define BSE_CONFIG(field) (bse_main_args->field)
26 
27 /* --- argc/argv overide settings --- */
28 struct BseMainArgs {
29  uint n_processors;
30  /* # values to pad around wave chunk blocks per channel */
31  uint wave_chunk_padding;
32  uint wave_chunk_big_pad;
33  /* data (file) cache block size (aligned to power of 2) */
34  uint dcache_block_size;
35  /* amount of bytes to spare for memory cache */
36  uint dcache_cache_memory;
37  uint midi_kammer_note;
38  /* kammer frequency, normally 440Hz, historically 435Hz */
39  double kammer_freq;
40  const char *path_binaries;
41  const char *bse_rcfile;
42  const char *override_plugin_globs;
43  const char *override_script_path;
44  const char *override_sample_path;
45  bool stand_alone;
47  bool force_fpu;
51  bool load_drivers_early;
52  bool dump_driver_list;
53  int latency;
54  int mixing_freq;
55  int control_freq;
56  SfiRing *pcm_drivers;
57  SfiRing *midi_drivers;
58 };
59 
60 /* --- internal --- */
61 void _bse_init_c_wrappers ();
62 extern BseMainArgs *bse_main_args;
63 extern GMainContext *bse_main_context;
64 
65 G_END_DECLS
66 
67 #endif /* __BSE_MAIN_H__ */
bool stand_alone
Initialization argument "stand-alone" - no rcfiles, boot scripts, etc.
Definition: bsemain.hh:45
bool force_fpu
Initialization argument "force-fpu" - avoid vectorized optimizations.
Definition: bsemain.hh:47
bool load_core_plugins
Initialization argument "load-core-plugins" - enable core plugin bootup.
Definition: bsemain.hh:48
Definition: sfiring.hh:23
bool debug_extensions
Initialization argument "debug-extensions" - enable debugging extensions.
Definition: bsemain.hh:50
vector< String > StringVector
Definition: bsemain.hh:28
bool load_core_scripts
Initialization argument "load-core-scripts" - enable core script bootup.
Definition: bsemain.hh:49
bool allow_randomization
Initialization argument "allow-randomization" - enables non-deterministic behavior.
Definition: bsemain.hh:46