Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bseenginemaster.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_MASTER_H__
3 #define __BSE_ENGINE_MASTER_H__
4 #include <bse/bseengine.hh>
5 /* --- internal (EngineThread) --- */
6 gboolean _engine_master_prepare (BseEngineLoop *loop);
7 gboolean _engine_master_check (const BseEngineLoop *loop);
8 void _engine_master_dispatch_jobs (void);
9 void _engine_master_dispatch (void);
10 
11 namespace Bse {
12 
13 class MasterThread {
14  std::thread thread_;
15  EventFd event_fd_;
16  std::function<void()> caller_wakeup_;
17  static void reap_master_thread ();
18  void master_thread ();
19  explicit MasterThread (const std::function<void()> &caller_wakeup);
20 public:
21  static void wakeup ();
22  static void start (const std::function<void()> &caller_wakeup);
23 };
24 
25 } // Bse
26 
27 
28 namespace BseInternal {
29 
30 void engine_run_slave ();
31 void engine_start_slaves ();
32 void engine_stop_slaves ();
33 void engine_wakeup_slaves ();
34 
35 } // BseInternal
36 
37 #endif /* __BSE_ENGINE_MASTER_H__ */
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:91
Definition: bseenginemaster.hh:13
Definition: bseenginemaster.cc:902
Definition: bseengine.hh:204
STL class.