Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bseengineutils.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_ENGINE_UTIL_H__
3 #define __BSE_ENGINE_UTIL_H__
4 
5 #include <bse/bseenginenode.hh>
6 
7 /* --- UserThread --- */
8 void _engine_free_trans (BseTrans *trans);
9 BseOStream* _engine_alloc_ostreams (guint n);
10 #if 0 /* bseengine.hh: */
12 #endif
13 
14 
15 /* --- MasterThread --- */
16 void _engine_recycle_const_values (bool remove_all);
17 void _engine_node_collect_jobs (EngineNode *node);
18 /* master node list */
19 void _engine_mnl_remove (EngineNode *node);
20 void _engine_mnl_node_changed (EngineNode *node);
21 void _engine_mnl_integrate (EngineNode *node);
22 #define BSE_ENGINE_MNL_UNSCHEDULED_TJOB_NODE(node) (!(node)->sched_tag && ((node)->flow_jobs || (node)->probe_jobs))
23 EngineNode* _engine_mnl_head (void);
24 
25 /* communication routines for threads:
26  * UserThread - main application
27  * MasterThread - op engine control thread
28  * SlaveThread - op engine calculation threads
29  *
30  * these functions are for _internal_ use of bseengine*.cc implementations
31  */
32 
33 /* --- job transactions --- */
34 /* UserThread */
35 guint64 _engine_enqueue_trans (BseTrans *trans);
36 BseTrans* _engine_collect_trans (void);
37 void _engine_wait_on_trans (void);
38 /* MasterThread */
39 BseJob* _engine_pop_job (gboolean update_commit_stamp);
40 gboolean _engine_job_pending (void);
41 
42 
43 /* --- node processing queue --- */
44 void _engine_set_schedule (EngineSchedule *schedule);
45 void _engine_unset_schedule (EngineSchedule *schedule);
46 EngineNode* _engine_pop_unprocessed_node (void);
47 void _engine_push_processed_node (EngineNode *node);
48 SfiRing* _engine_pop_unprocessed_cycle (void);
49 void _engine_push_processed_cycle (SfiRing *cycle);
50 void _engine_wait_on_unprocessed (void);
51 
52 #endif /* __BSE_ENGINE_UTIL_H__ */
void bse_engine_user_thread_collect(void)
BSE Engine user thread function.
Definition: bseengineutils.cc:356
Definition: sfiring.hh:21