Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bstplayback.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 __BST_PLAY_BACK_H__
3 #define __BST_PLAY_BACK_H__
4 
5 #include "bstutils.hh"
6 
7 
8 /* --- typedefs & structures --- */
9 typedef void (*BstPlayBackNotify) (gpointer data,
10  SfiNum tick_stamp,
11  guint pcm_position);
12 typedef struct
13 {
14  Bse::ProjectH project;
15  Bse::SNetH snet;
16  SfiProxy speaker;
17  SfiProxy wosc1, wosc2;
18  SfiProxy constant;
19  guint current_delay;
20  guint pcm_timeout;
21  BstPlayBackNotify pcm_notify;
22  gpointer pcm_data;
23  guint waiting_for_notify : 1;
24  guint discard_next_notify : 1;
26 
27 
28 /* --- functions --- */
29 BstPlayBackHandle* bst_play_back_handle_new (void);
30 void bst_play_back_handle_set (BstPlayBackHandle *handle,
31  SfiProxy esample,
32  gdouble osc_freq);
33 void bst_play_back_handle_start (BstPlayBackHandle *handle);
34 void bst_play_back_handle_seek_perc (BstPlayBackHandle *handle,
35  gfloat perc);
36 void bst_play_back_handle_stop (BstPlayBackHandle *handle);
37 void bst_play_back_handle_toggle (BstPlayBackHandle *handle);
38 void bst_play_back_handle_pcm_notify (BstPlayBackHandle *handle,
39  guint timeout,
40  BstPlayBackNotify notify,
41  gpointer data);
42 void bst_play_back_handle_time_pcm_notify (BstPlayBackHandle *handle,
43  guint timeout);
44 gboolean bst_play_back_handle_is_playing (BstPlayBackHandle *handle);
45 gboolean bst_play_back_handle_done (BstPlayBackHandle *handle);
46 void bst_play_back_handle_destroy (BstPlayBackHandle *handle);
47 
48 
49 
50 
51 #endif /* __BST_PLAY_BACK_H__ */
Definition: bstplayback.hh:12