BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
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 G_BEGIN_DECLS
6 
7 /* --- internal (EngineThread) --- */
8 gboolean _engine_master_prepare (BseEngineLoop *loop);
9 gboolean _engine_master_check (const BseEngineLoop *loop);
10 void _engine_master_dispatch_jobs (void);
11 void _engine_master_dispatch (void);
12 
13 namespace Bse {
14 
15 class MasterThread {
16  std::thread thread_;
17  EventFd event_fd_;
18  std::function<void()> caller_wakeup_;
19  static void reap_master_thread ();
20  void master_thread ();
21  explicit MasterThread (const std::function<void()> &caller_wakeup);
22 public:
23  static void wakeup ();
24  static void start (const std::function<void()> &caller_wakeup);
25 };
26 
27 } // Bse
28 
29 G_END_DECLS
30 #endif /* __BSE_ENGINE_MASTER_H__ */
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:67
Definition: bseenginemaster.hh:15
Definition: bseengine.hh:206
STL class.