Go to the documentation of this file.
25 #ifndef SRC_HEADERS_GX_SYSTEM_H_
26 #define SRC_HEADERS_GX_SYSTEM_H_
32 #define FE_DENORM __FE_DENORM
35 unsigned int fpu_status __attribute__ ((__mode__ (__HI__)));
36 __asm__(
"fnstsw %0" :
"=m" (*&fpu_status));
43 int ret = fegetexceptflag(&flagp, FE_ALL_EXCEPT);
54 #ifndef _PMMINTRIN_H_INCLUDED
55 #include <pmmintrin.h>
58 _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
59 _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);
62 #ifndef _XMMINTRIN_H_INCLUDED
63 #include <xmmintrin.h>
65 inline void AVOIDDENORMALS() { _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); }
69 #ifndef _XMMINTRIN_H_INCLUDED
79 #define ASCII_START (48)
80 #define GDK_NO_MOD_MASK (GdkModifierType)0
91 g_atomic_int_set(p, v);
94 inline void atomic_set(
volatile unsigned int* p,
unsigned int v) {
95 g_atomic_int_set(
reinterpret_cast<volatile int*
>(p), v);
99 return g_atomic_int_get(&p);
103 return g_atomic_int_get(
reinterpret_cast<volatile int*
>(&p));
111 g_atomic_int_inc(
reinterpret_cast<volatile int*
>(p));
115 return g_atomic_int_compare_and_exchange(p, oldv, newv);
120 g_atomic_pointer_set(p, v);
125 g_atomic_pointer_set(p, 0);
130 return static_cast<T*
>(g_atomic_pointer_get(&p));
135 return g_atomic_pointer_compare_and_exchange(
reinterpret_cast<void* volatile*
>(p),
static_cast<void*
>(oldv), newv);
172 sx2 +=
static_cast<float>(diff) * diff;
187 inline float ns2ms(
int n)
const {
return n * 1e-6; }
190 void print_accum(
const Accum& accum,
const char* prefix,
bool verbose,
int total = 0)
const;
205 inline int ts_diff(
const timespec& ts1,
const timespec& ts2);
211 clock_gettime(CLOCK_MONOTONIC, &
t1s);
214 clock_gettime(CLOCK_MONOTONIC, &
t1e);
221 clock_gettime(CLOCK_MONOTONIC, &
t2s);
229 time_t df = ts1.tv_sec - ts2.tv_sec;
230 if (std::abs(df) > 2) {
233 return df * 1000000000 + (ts1.tv_nsec - ts2.tv_nsec);
240 clock_gettime(CLOCK_MONOTONIC, &n);
245 if (!(
t1old.tv_sec == 0 &&
t1old.tv_nsec == 0)) {
283 unsigned int index(
const Glib::ustring& skin_name);
292 typedef std::list< Glib::RefPtr<Gio::File> >
pathlist;
293 typedef std::list< Glib::RefPtr<Gio::File> >::const_iterator
iterator;
298 void add(
const std::string& d) {
dirs.push_back(Gio::File::create_for_path(d)); }
300 bool find_dir(std::string *d,
const std::string& filename)
const;
319 void add(
char s,
const std::string& d);
331 FileName(
const std::string& filename_,
const Glib::ustring& displayname_)
351 #define RPCPORT_DEFAULT (-2)
352 #define RPCPORT_NONE (-1)
550 int gx_system_call(
const std::string&,
bool devnull =
false,
bool escape =
false);
555 std::stringstream ss;
565 #endif // SRC_HEADERS_GX_SYSTEM_H_
const Glib::ustring & get_setbank()
const PathList & get_IR_pathlist() const
std::string get_user_filepath(const std::string &basename) const
bool get_hideonquit() const
IRFileListing(const std::string &path)
std::string path_to_program
Glib::OptionGroup optgroup_file
std::vector< FileName > listing
std::string encode_filename(const std::string &s)
const Glib::ustring & operator[](unsigned int idx)
const std::string & get_pluginpreset_dir() const
Glib::ustring cmdline_bank
void atomic_set(volatile int *p, int v)
int get_idle_thread_timeout() const
void set_preset_dir(std::string dir)
static BasicOptions * instance
void set_opt_autosave(bool set)
bool get_convolver_watchdog() const
Glib::OptionGroup main_group
void print(bool verbose) const
int get_sporadic_overload() const
MeasureThreadsafe measure
std::string lv2_preset_dir
std::list< Glib::RefPtr< Gio::File > > pathlist
std::string get_plugin_filepath(const std::string &basename) const
unsigned int _MM_GET_EXCEPTION_STATE(void)
void set_styledir(const std::string &styledir)
FileName(const std::string &filename_, const Glib::ustring &displayname_)
std::string get_lv2_preset_filepath(const std::string &id) const
const Glib::ustring & get_jack_uuid2() const
void set_loop_dir(std::string dir)
bool find_dir(std::string *d, const std::string &filename) const
void set_lv2_preset_dir(std::string dir)
void _MM_SET_EXCEPTION_STATE(unsigned int __mask)
std::string get_factory_filepath(const std::string &basename) const
void atomic_inc(volatile int *p)
const std::string & get_plugin_dir() const
const Glib::ustring & get_cmdline_bank()
std::string get_pixmap_filepath(const std::string &basename) const
void set_jack_noconnect(bool set)
void set_temp_dir(std::string dir)
void set_default_skin_name()
const std::string & get_user_IR_dir() const
std::string replace_path(const std::string &dir) const
BasicOptions & get_options()
void set_hideonquit(bool set)
void set_plugin_dir(std::string dir)
PrefixConverter IR_prefixmap
const std::string & get_path_to_program() const
Glib::OptionGroup optgroup_jack
std::string to_string(const T &t)
const Glib::ustring & get_cmdline_preset()
int ts_diff(const timespec &ts1, const timespec &ts2)
std::string decode_filename(const std::string &s)
const Glib::ustring & get_jack_midi() const
friend BasicOptions & get_options()
const std::string & get_sys_IR_dir() const
std::string get_current_style_cssfile() const
unsigned int index(const Glib::ustring &skin_name)
bool get_jack_noconnect() const
std::string get_temp_filepath(const std::string &basename) const
std::list< Glib::RefPtr< Gio::File > >::const_iterator iterator
Glib::ustring jack_instance
const std::string & get_style_dir() const
std::string get_style_filepath(const std::string &basename) const
void print(bool verbose=false)
void set_pluginpreset_dir(std::string dir)
bool get_jack_single() const
const Glib::ustring & get_rpcaddress()
const std::string & get_preset_dir() const
std::string get_online_config_filename() const
void set_jack_instancename(std::string name)
std::string get_user_ir_filepath(const std::string &basename) const
bool get_xrun_watchdog() const
void print_accum(const Accum &accum, const char *prefix, bool verbose, int total=0) const
const std::string & get_user_dir() const
const std::string & get_temp_dir() const
bool atomic_compare_and_exchange(volatile int *p, int oldv, int newv)
Glib::ustring displayname
const Glib::ustring & get_tuner_tet()
const Glib::ustring & get_jack_input() const
std::string get_builder_filepath(const std::string &basename) const
bool get_opt_autosave() const
std::string pluginpreset_dir
const std::string & get_factory_dir() const
const PrefixConverter & get_IR_prefixmap() const
bool system_show_tooltips
void set_rpcport(int port)
Glib::OptionGroup optgroup_style
void add(char s, const std::string &d)
const Glib::ustring & get_jack_instancename() const
const Glib::ustring & get_jack_servername() const
void set_rpcaddress(const Glib::ustring &address)
std::vector< FileName > & get_listing()
int atomic_get(volatile int &p)
static void make_ending_slash(std::string &dirpath)
const Glib::ustring & get_tuner_ref()
Glib::ustring cmdline_preset
PathList(const char *env_name=0)
Glib::OptionGroup optgroup_overload
std::string get_preset_filepath(const std::string &basename) const
void set_bank_preset(const Glib::ustring &bank, const Glib::ustring &preset)
unsigned int get_fpu_status_bits()
std::string get_online_presets_filename() const
bool get_liveplaygui() const
const std::string & get_old_user_dir() const
void set_user_IR_dir(std::string dir)
void add_time_measurement()
void list_subdirs(PathList pl, std::vector< FileName > &dirs)
Glib::ustring get_jack_output(unsigned int n) const
string get_cssfile() const
std::vector< Glib::ustring > skin_list
Glib::OptionGroup optgroup_debug
Glib::ustring jack_servername
std::vector< Glib::ustring > jack_outputs
const std::string & get_lv2_preset_dir() const
void set_jack_single(bool set)
const Glib::ustring & get_jack_uuid() const
bool is_in_list(const std::string &skin_name)
void add(const std::string &d)
const Glib::ustring & get_rcset() const
void strip(Glib::ustring &s)
std::map< char, std::string > symbol_path_map
bool contains(const std::string &d) const
std::string replace_symbol(const std::string &dir) const
void process(int argc, char **argv)
SkinHandling(const std::string &styledir)
void set_user_dir(std::string dir)
bool get_clear_rc() const
const std::string & get_loop_dir() const
std::string get_ladspa_config_filename() const
std::string get_pluginpreset_filepath(const std::string &id, bool factory) const
void clear_fpu_status_bits()
const std::string & get_loadfile() const
bool get_opt_save_on_exit() const
int gx_system_call(const std::string &, bool devnull=false, bool escape=false)