BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
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 #ifdef __cplusplus
8 extern "C" {
9 #endif /* __cplusplus */
10 
11 
12 /* --- typedefs & structures --- */
13 typedef void (*BstPlayBackNotify) (gpointer data,
14  SfiNum tick_stamp,
15  guint pcm_position);
16 typedef struct
17 {
18  Bse::ProjectH project;
19  SfiProxy snet;
20  SfiProxy speaker;
21  SfiProxy wosc1, wosc2;
22  SfiProxy constant;
23  guint current_delay;
24  guint pcm_timeout;
25  BstPlayBackNotify pcm_notify;
26  gpointer pcm_data;
27  guint waiting_for_notify : 1;
28  guint discard_next_notify : 1;
30 
31 
32 /* --- functions --- */
33 BstPlayBackHandle* bst_play_back_handle_new (void);
34 void bst_play_back_handle_set (BstPlayBackHandle *handle,
35  SfiProxy esample,
36  gdouble osc_freq);
37 void bst_play_back_handle_start (BstPlayBackHandle *handle);
38 void bst_play_back_handle_seek_perc (BstPlayBackHandle *handle,
39  gfloat perc);
40 void bst_play_back_handle_stop (BstPlayBackHandle *handle);
41 void bst_play_back_handle_toggle (BstPlayBackHandle *handle);
42 void bst_play_back_handle_pcm_notify (BstPlayBackHandle *handle,
43  guint timeout,
44  BstPlayBackNotify notify,
45  gpointer data);
46 void bst_play_back_handle_time_pcm_notify (BstPlayBackHandle *handle,
47  guint timeout);
48 gboolean bst_play_back_handle_is_playing (BstPlayBackHandle *handle);
49 gboolean bst_play_back_handle_done (BstPlayBackHandle *handle);
50 void bst_play_back_handle_destroy (BstPlayBackHandle *handle);
51 
52 
53 
54 
55 #ifdef __cplusplus
56 }
57 #endif /* __cplusplus */
58 
59 #endif /* __BST_PLAY_BACK_H__ */
See also the corresponding IDL class Project.
Definition: bseclientapi.hh:979
Definition: bstplayback.hh:16