19 #define BSE_TYPE_PROBE_FEATURES BSE_CXX_DECLARED_RECORD_TYPE (Bse, ProbeFeatures)
22 #define BSE_TYPE_PROBE BSE_CXX_DECLARED_RECORD_TYPE (Bse, Probe)
25 #define BSE_TYPE_PROBE_REQUEST BSE_CXX_DECLARED_RECORD_TYPE (Bse, ProbeRequest)
30 #define BSE_TYPE_PROBE_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, ProbeSeq)
31 class ProbeRequestSeq;
32 #define BSE_TYPE_PROBE_REQUEST_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, ProbeRequestSeq)
45 static inline ::Bse::ProbeSeq from_seq (SfiSeq *seq);
46 static inline SfiSeq *to_seq (const ::Bse::ProbeSeq & seq);
47 static inline ::Bse::ProbeSeq value_get_boxed (
const GValue *value);
48 static inline void value_set_boxed (GValue *value, const ::Bse::ProbeSeq &
self);
49 static inline const char* options () {
return ""; }
50 static inline const char* blurb () {
return ""; }
51 static inline const char* authors () {
return ""; }
52 static inline const char* license () {
return ""; }
53 static inline const char* type_name () {
return "BseProbeSeq"; }
54 static inline GParamSpec* get_element ();
60 static inline ::Bse::ProbeRequestSeq from_seq (SfiSeq *seq);
61 static inline SfiSeq *to_seq (const ::Bse::ProbeRequestSeq & seq);
62 static inline ::Bse::ProbeRequestSeq value_get_boxed (
const GValue *value);
63 static inline void value_set_boxed (GValue *value, const ::Bse::ProbeRequestSeq &
self);
64 static inline const char* options () {
return ""; }
65 static inline const char* blurb () {
return ""; }
66 static inline const char* authors () {
return ""; }
67 static inline const char* license () {
return ""; }
68 static inline const char* type_name () {
return "BseProbeRequestSeq"; }
69 static inline GParamSpec* get_element ();
81 static inline ::Bse::ProbeFeaturesHandle from_rec (SfiRec *rec);
82 static inline SfiRec *to_rec (const ::Bse::ProbeFeaturesHandle & ptr);
83 static inline ::Bse::ProbeFeaturesHandle value_get_boxed (
const GValue *value);
84 static inline void value_set_boxed (GValue *value, const ::Bse::ProbeFeaturesHandle &
self);
85 static inline const char* options () {
return ""; }
86 static inline const char* blurb () {
return ""; }
87 static inline const char* authors () {
return ""; }
88 static inline const char* license () {
return ""; }
89 static inline const char* type_name () {
return "BseProbeFeatures"; }
104 static inline ::Bse::ProbeHandle from_rec (SfiRec *rec);
105 static inline SfiRec *to_rec (const ::Bse::ProbeHandle & ptr);
106 static inline ::Bse::ProbeHandle value_get_boxed (
const GValue *value);
107 static inline void value_set_boxed (GValue *value, const ::Bse::ProbeHandle &
self);
108 static inline const char* options () {
return ""; }
109 static inline const char* blurb () {
return ""; }
110 static inline const char* authors () {
return ""; }
111 static inline const char* license () {
return ""; }
112 static inline const char* type_name () {
return "BseProbe"; }
122 static inline ::Bse::ProbeRequestHandle from_rec (SfiRec *rec);
123 static inline SfiRec *to_rec (const ::Bse::ProbeRequestHandle & ptr);
124 static inline ::Bse::ProbeRequestHandle value_get_boxed (
const GValue *value);
125 static inline void value_set_boxed (GValue *value, const ::Bse::ProbeRequestHandle &
self);
126 static inline const char* options () {
return ""; }
127 static inline const char* blurb () {
return ""; }
128 static inline const char* authors () {
return ""; }
129 static inline const char* license () {
return ""; }
130 static inline const char* type_name () {
return "BseProbeRequest"; }
140 BSE_CXX_DECLARE_SEQUENCE (
ProbeSeq);
149 BSE_CXX_DECLARE_RECORD (
Probe);
156 namespace Procedure {
157 class source_request_probes;
158 #define BSE_TYPE_SOURCE_REQUEST_PROBES BSE_CXX_DECLARED_PROC_TYPE (Bse, source_request_probes)
161 namespace Procedure {
162 class source_mass_request;
163 #define BSE_TYPE_SOURCE_MASS_REQUEST BSE_CXX_DECLARED_PROC_TYPE (Bse, source_mass_request)
166 namespace Procedure {
167 class source_get_mix_freq;
168 #define BSE_TYPE_SOURCE_GET_MIX_FREQ BSE_CXX_DECLARED_PROC_TYPE (Bse, source_get_mix_freq)
181 ProbeFeatures::from_rec (SfiRec *sfi_rec)
186 return Sfi::INIT_NULL;
189 element = sfi_rec_get (sfi_rec,
"probe_range");
191 rec->probe_range = sfi_value_get_bool (element);
192 element = sfi_rec_get (sfi_rec,
"probe_energie");
194 rec->probe_energie = sfi_value_get_bool (element);
195 element = sfi_rec_get (sfi_rec,
"probe_samples");
197 rec->probe_samples = sfi_value_get_bool (element);
198 element = sfi_rec_get (sfi_rec,
"probe_fft");
200 rec->probe_fft = sfi_value_get_bool (element);
205 ProbeFeatures::to_rec (const ::Bse::ProbeFeaturesHandle & rec)
213 sfi_rec = sfi_rec_new ();
214 element = sfi_rec_forced_get (sfi_rec,
"probe_range", SFI_TYPE_BOOL);
215 sfi_value_set_bool (element, rec->probe_range);
216 element = sfi_rec_forced_get (sfi_rec,
"probe_energie", SFI_TYPE_BOOL);
217 sfi_value_set_bool (element, rec->probe_energie);
218 element = sfi_rec_forced_get (sfi_rec,
"probe_samples", SFI_TYPE_BOOL);
219 sfi_value_set_bool (element, rec->probe_samples);
220 element = sfi_rec_forced_get (sfi_rec,
"probe_fft", SFI_TYPE_BOOL);
221 sfi_value_set_bool (element, rec->probe_fft);
226 ProbeFeatures::value_get_boxed (
const GValue *value)
228 return ::Bse::ProbeFeaturesHandle::value_get_boxed (value);
232 ProbeFeatures::value_set_boxed (GValue *value, const ::Bse::ProbeFeaturesHandle &
self)
234 ::Bse::ProbeFeaturesHandle::value_set_boxed (value,
self);
238 ProbeFeatures::get_fields()
241 if (!rfields.n_fields)
243 static GParamSpec *fields[4 + 1];
244 rfields.n_fields = 4;
245 fields[0] = sfidl_pspec_Bool_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",378,
"probe_range");
246 fields[1] = sfidl_pspec_Bool_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",379,
"probe_energie");
247 fields[2] = sfidl_pspec_Bool_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",380,
"probe_samples");
248 fields[3] = sfidl_pspec_Bool_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",381,
"probe_fft");
249 rfields.fields = fields;
254 Probe::from_rec (SfiRec *sfi_rec)
259 return Sfi::INIT_NULL;
262 element = sfi_rec_get (sfi_rec,
"channel_id");
264 rec->channel_id = sfi_value_get_int (element);
265 element = sfi_rec_get (sfi_rec,
"block_stamp");
267 rec->block_stamp = sfi_value_get_num (element);
268 element = sfi_rec_get (sfi_rec,
"mix_freq");
270 rec->mix_freq = sfi_value_get_real (element);
271 element = sfi_rec_get (sfi_rec,
"probe_features");
273 rec->probe_features = ::Bse::ProbeFeatures::value_get_boxed (element);
274 element = sfi_rec_get (sfi_rec,
"min");
276 rec->min = sfi_value_get_real (element);
277 element = sfi_rec_get (sfi_rec,
"max");
279 rec->max = sfi_value_get_real (element);
280 element = sfi_rec_get (sfi_rec,
"energie");
282 rec->energie = sfi_value_get_real (element);
283 element = sfi_rec_get (sfi_rec,
"sample_data");
285 rec->sample_data = ::Bse::FloatSeq::value_get_boxed (element);
286 element = sfi_rec_get (sfi_rec,
"fft_data");
288 rec->fft_data = ::Bse::FloatSeq::value_get_boxed (element);
293 Probe::to_rec (const ::Bse::ProbeHandle & rec)
301 sfi_rec = sfi_rec_new ();
302 element = sfi_rec_forced_get (sfi_rec,
"channel_id", SFI_TYPE_INT);
303 sfi_value_set_int (element, rec->channel_id);
304 element = sfi_rec_forced_get (sfi_rec,
"block_stamp", SFI_TYPE_NUM);
305 sfi_value_set_num (element, rec->block_stamp);
306 element = sfi_rec_forced_get (sfi_rec,
"mix_freq", SFI_TYPE_REAL);
307 sfi_value_set_real (element, rec->mix_freq);
308 element = sfi_rec_forced_get (sfi_rec,
"probe_features", SFI_TYPE_REC);
309 ::Bse::ProbeFeatures::value_set_boxed (element, rec->probe_features);
310 element = sfi_rec_forced_get (sfi_rec,
"min", SFI_TYPE_REAL);
311 sfi_value_set_real (element, rec->min);
312 element = sfi_rec_forced_get (sfi_rec,
"max", SFI_TYPE_REAL);
313 sfi_value_set_real (element, rec->max);
314 element = sfi_rec_forced_get (sfi_rec,
"energie", SFI_TYPE_REAL);
315 sfi_value_set_real (element, rec->energie);
316 element = sfi_rec_forced_get (sfi_rec,
"sample_data", SFI_TYPE_SEQ);
317 ::Bse::FloatSeq::value_set_boxed (element, rec->sample_data);
318 element = sfi_rec_forced_get (sfi_rec,
"fft_data", SFI_TYPE_SEQ);
319 ::Bse::FloatSeq::value_set_boxed (element, rec->fft_data);
324 Probe::value_get_boxed (
const GValue *value)
326 return ::Bse::ProbeHandle::value_get_boxed (value);
330 Probe::value_set_boxed (GValue *value, const ::Bse::ProbeHandle &
self)
332 ::Bse::ProbeHandle::value_set_boxed (value,
self);
339 if (!rfields.n_fields)
341 static GParamSpec *fields[9 + 1];
342 rfields.n_fields = 9;
343 fields[0] = sfidl_pspec_Int_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",385,
"channel_id");
344 fields[1] = sfidl_pspec_Num_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",386,
"block_stamp");
345 fields[2] = sfidl_pspec_Real_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",387,
"mix_freq");
346 fields[3] = sfidl_pspec_Record_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",388,
"probe_features", Bse::ProbeFeatures::get_fields());
347 fields[4] = sfidl_pspec_Real_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",389,
"min");
348 fields[5] = sfidl_pspec_Real_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",390,
"max");
349 fields[6] = sfidl_pspec_Real_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",391,
"energie");
350 fields[7] = sfidl_pspec_Sequence_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",392,
"sample_data", Bse::FloatSeq::get_element());
351 fields[8] = sfidl_pspec_Sequence_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",393,
"fft_data", Bse::FloatSeq::get_element());
352 rfields.fields = fields;
357 ProbeRequest::from_rec (SfiRec *sfi_rec)
362 return Sfi::INIT_NULL;
365 element = sfi_rec_get (sfi_rec,
"source");
367 rec->source = ::Bse::CxxBase::value_get_gobject< BseSource> (element);
368 element = sfi_rec_get (sfi_rec,
"channel_id");
370 rec->channel_id = sfi_value_get_int (element);
371 element = sfi_rec_get (sfi_rec,
"frequency");
373 rec->frequency = sfi_value_get_real (element);
374 element = sfi_rec_get (sfi_rec,
"probe_features");
376 rec->probe_features = ::Bse::ProbeFeatures::value_get_boxed (element);
381 ProbeRequest::to_rec (const ::Bse::ProbeRequestHandle & rec)
389 sfi_rec = sfi_rec_new ();
390 element = sfi_rec_forced_get (sfi_rec,
"source", SFI_TYPE_PROXY);
391 ::Bse::CxxBase::value_set_gobject (element, rec->source);
392 element = sfi_rec_forced_get (sfi_rec,
"channel_id", SFI_TYPE_INT);
393 sfi_value_set_int (element, rec->channel_id);
394 element = sfi_rec_forced_get (sfi_rec,
"frequency", SFI_TYPE_REAL);
395 sfi_value_set_real (element, rec->frequency);
396 element = sfi_rec_forced_get (sfi_rec,
"probe_features", SFI_TYPE_REC);
397 ::Bse::ProbeFeatures::value_set_boxed (element, rec->probe_features);
402 ProbeRequest::value_get_boxed (
const GValue *value)
404 return ::Bse::ProbeRequestHandle::value_get_boxed (value);
408 ProbeRequest::value_set_boxed (GValue *value, const ::Bse::ProbeRequestHandle &
self)
410 ::Bse::ProbeRequestHandle::value_set_boxed (value,
self);
414 ProbeRequest::get_fields()
417 if (!rfields.n_fields)
419 static GParamSpec *fields[4 + 1];
420 rfields.n_fields = 4;
421 fields[0] = sfidl_pspec_Object_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",400,
"source");
422 fields[1] = sfidl_pspec_Int_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",401,
"channel_id");
423 fields[2] = sfidl_pspec_Real_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",402,
"frequency");
424 fields[3] = sfidl_pspec_Record_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",403,
"probe_features", Bse::ProbeFeatures::get_fields());
425 rfields.fields = fields;
433 ProbeSeq::from_seq (SfiSeq *sfi_seq)
441 length = sfi_seq_length (sfi_seq);
442 cseq.resize (length);
443 for (i = 0; i < length; i++)
445 GValue *element = sfi_seq_get (sfi_seq, i);
446 cseq[i] = ::Bse::Probe::value_get_boxed (element);
452 ProbeSeq::to_seq (const ::Bse::ProbeSeq & cseq)
454 SfiSeq *sfi_seq = sfi_seq_new ();
455 for (guint i = 0; i < cseq.length(); i++)
457 GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
458 ::Bse::Probe::value_set_boxed (element, cseq[i]);
464 ProbeSeq::value_get_boxed (
const GValue *value)
466 return ::Sfi::cxx_value_get_boxed_sequence< ProbeSeq> (value);
470 ProbeSeq::value_set_boxed (GValue *value, const ::Bse::ProbeSeq &
self)
472 ::Sfi::cxx_value_set_boxed_sequence< ProbeSeq> (value,
self);
476 ProbeSeq::get_element()
478 static GParamSpec *element = NULL;
480 element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",396,
"probes", Bse::Probe::get_fields()));
481 g_param_spec_sink (element);
487 ProbeRequestSeq::from_seq (SfiSeq *sfi_seq)
495 length = sfi_seq_length (sfi_seq);
496 cseq.resize (length);
497 for (i = 0; i < length; i++)
499 GValue *element = sfi_seq_get (sfi_seq, i);
500 cseq[i] = ::Bse::ProbeRequest::value_get_boxed (element);
506 ProbeRequestSeq::to_seq (const ::Bse::ProbeRequestSeq & cseq)
508 SfiSeq *sfi_seq = sfi_seq_new ();
509 for (guint i = 0; i < cseq.length(); i++)
511 GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
512 ::Bse::ProbeRequest::value_set_boxed (element, cseq[i]);
518 ProbeRequestSeq::value_get_boxed (
const GValue *value)
520 return ::Sfi::cxx_value_get_boxed_sequence< ProbeRequestSeq> (value);
524 ProbeRequestSeq::value_set_boxed (GValue *value, const ::Bse::ProbeRequestSeq &
self)
526 ::Sfi::cxx_value_set_boxed_sequence< ProbeRequestSeq> (value,
self);
530 ProbeRequestSeq::get_element()
532 static GParamSpec *element = NULL;
534 element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",406,
"probe_requests", Bse::ProbeRequest::get_fields()));
535 g_param_spec_sink (element);
546 namespace Procedure {
547 BSE_CXX_DECLARE_PROC (source_request_probes);
550 static inline const unsigned char* pixstream () {
return NULL; }
551 static inline const char* options () {
return ""; }
552 static inline const char* category () {
static const char *c = NULL;
553 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
554 static inline const char* i18n_category () {
static const char *c = NULL;
555 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
556 static inline const char* blurb () {
return ""; }
557 static inline const char* authors () {
return ""; }
558 static inline const char* license () {
return ""; }
559 static inline const char* type_name () {
return "bse-source-request-probes"; }
560 static void exec (
BseSource* source, Sfi::Int ochannel_id, const ::Bse::ProbeFeaturesHandle & probe_features);
561 static Bse::Error marshal (BseProcedureClass *procedure,
562 const GValue *in_values,
567 ::Bse::CxxBase::value_get_gobject< BseSource> (in_values + 0),
568 sfi_value_get_int (in_values + 1),
569 ::Bse::ProbeFeatures::value_get_boxed (in_values + 2)
572 sfi_diag (
"%s: %s",
"source_request_probes", e.
what());
573 return Bse::Error::PROC_EXECUTION;
575 sfi_diag (
"%s: %s",
"source_request_probes",
"uncaught exception");
576 return Bse::Error::PROC_EXECUTION;
578 return Bse::Error::NONE;
580 static void init (BseProcedureClass *proc,
581 GParamSpec **in_pspecs,
582 GParamSpec **out_pspecs)
584 *(in_pspecs++) = sfidl_pspec_TypedObject_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",-1106920381,
"source", BSE_TYPE_SOURCE);
585 *(in_pspecs++) = sfidl_pspec_Int_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",-1106920381,
"ochannel_id");
586 *(in_pspecs++) = sfidl_pspec_BoxedRec_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",-1106920381,
"probe_features", BSE_TYPE_PROBE_FEATURES);
591 namespace Procedure {
592 BSE_CXX_DECLARE_PROC (source_mass_request);
595 static inline const unsigned char* pixstream () {
return NULL; }
596 static inline const char* options () {
return ""; }
597 static inline const char* category () {
static const char *c = NULL;
598 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
599 static inline const char* i18n_category () {
static const char *c = NULL;
600 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
601 static inline const char* blurb () {
return ""; }
602 static inline const char* authors () {
return ""; }
603 static inline const char* license () {
return ""; }
604 static inline const char* type_name () {
return "bse-source-mass-request"; }
605 static void exec (const ::Bse::ProbeRequestSeq & prseq);
606 static Bse::Error marshal (BseProcedureClass *procedure,
607 const GValue *in_values,
612 ::Bse::ProbeRequestSeq::value_get_boxed (in_values + 0)
615 sfi_diag (
"%s: %s",
"source_mass_request", e.
what());
616 return Bse::Error::PROC_EXECUTION;
618 sfi_diag (
"%s: %s",
"source_mass_request",
"uncaught exception");
619 return Bse::Error::PROC_EXECUTION;
621 return Bse::Error::NONE;
623 static void init (BseProcedureClass *proc,
624 GParamSpec **in_pspecs,
625 GParamSpec **out_pspecs)
627 *(in_pspecs++) = sfidl_pspec_BoxedSeq_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",-1106920381,
"prseq", BSE_TYPE_PROBE_REQUEST_SEQ);
632 namespace Procedure {
633 BSE_CXX_DECLARE_PROC (source_get_mix_freq);
636 static inline const unsigned char* pixstream () {
return NULL; }
637 static inline const char* options () {
return ""; }
638 static inline const char* category () {
static const char *c = NULL;
639 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
640 static inline const char* i18n_category () {
static const char *c = NULL;
641 return c ? c : c = sfi_category_concat (
"/Proc",
""); }
642 static inline const char* blurb () {
return ""; }
643 static inline const char* authors () {
return ""; }
644 static inline const char* license () {
return ""; }
645 static inline const char* type_name () {
return "bse-source-get-mix-freq"; }
647 static Bse::Error marshal (BseProcedureClass *procedure,
648 const GValue *in_values,
652 Sfi::Int __return_value =
654 ::Bse::CxxBase::value_get_gobject< BseSource> (in_values + 0)
656 sfi_value_set_int (out_values, __return_value);
658 sfi_diag (
"%s: %s",
"source_get_mix_freq", e.
what());
659 return Bse::Error::PROC_EXECUTION;
661 sfi_diag (
"%s: %s",
"source_get_mix_freq",
"uncaught exception");
662 return Bse::Error::PROC_EXECUTION;
664 return Bse::Error::NONE;
666 static void init (BseProcedureClass *proc,
667 GParamSpec **in_pspecs,
668 GParamSpec **out_pspecs)
670 *(in_pspecs++) = sfidl_pspec_TypedObject_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",-1106920381,
"obj", BSE_TYPE_SOURCE);
671 *(out_pspecs++) = sfidl_pspec_Int_default (NULL,
"/opt/src/beast/bse/bseprobe.idl",23656460,
"result");
679 #define BSE_CXX_REGISTER_ALL_TYPES_FROM_BSEPROBE_IDL() \
680 BSE_CXX_REGISTER_RECORD (ProbeFeatures); \
681 BSE_CXX_REGISTER_RECORD (Probe); \
682 BSE_CXX_REGISTER_RECORD (ProbeRequest); \
683 BSE_CXX_REGISTER_SEQUENCE (ProbeSeq); \
684 BSE_CXX_REGISTER_SEQUENCE (ProbeRequestSeq); \
685 BSE_CXX_REGISTER_PROCEDURE (source_request_probes); \
686 BSE_CXX_REGISTER_PROCEDURE (source_mass_request); \
687 BSE_CXX_REGISTER_PROCEDURE (source_get_mix_freq); \
Definition: bseprobe.genidl.hh:42
Definition: bseprobe.genidl.hh:75
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Definition: bseprobe.genidl.hh:593
Definition: bseprobe.genidl.hh:116
Definition: bseprobe.genidl.hh:57
Definition: sficxx.hh:326
Definition: bseprobe.genidl.hh:634
Definition: sfitypes.hh:31
Definition: bseprobe.genidl.hh:93
Definition: bsesource.hh:84
Definition: bseprobe.genidl.hh:548
Definition: sficxx.hh:143
Definition: bsebasics.genidl.hh:265