BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsepcmwriter.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_PCM_WRITER_H__
3 #define __BSE_PCM_WRITER_H__
4 
5 #include <bse/bseitem.hh>
6 
7 G_BEGIN_DECLS
8 
9 /* --- object type macros --- */
10 #define BSE_TYPE_PCM_WRITER (BSE_TYPE_ID (BsePcmWriter))
11 #define BSE_PCM_WRITER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_PCM_WRITER, BsePcmWriter))
12 #define BSE_PCM_WRITER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_PCM_WRITER, BsePcmWriterClass))
13 #define BSE_IS_PCM_WRITER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_PCM_WRITER))
14 #define BSE_IS_PCM_WRITER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_PCM_WRITER))
15 #define BSE_PCM_WRITER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_PCM_WRITER, BsePcmWriterClass))
16 
17 
18 /* --- BsePcmWriter --- */
20  Bse::Mutex mutex;
21  guint open : 1;
22  guint broken : 1;
23  gint fd;
24  uint64 n_bytes;
25  uint64 recorded_maximum;
26 };
28 {};
29 
30 Bse::Error bse_pcm_writer_open (BsePcmWriter *pdev,
31  const gchar *file,
32  guint n_channels,
33  guint sample_freq,
34  uint64 recorded_maximum);
35 void bse_pcm_writer_close (BsePcmWriter *pdev);
36 /* writing is lock protected */
37 void bse_pcm_writer_write (BsePcmWriter *pdev,
38  gsize n_values,
39  const gfloat *values);
40 
41 
42 #ifdef __cplusplus
43 }
44 #endif /* __cplusplus */
45 
46 namespace Bse {
47 
48 class PcmWriterImpl : public ItemImpl, public virtual PcmWriterIface {
49 protected:
50  virtual ~PcmWriterImpl ();
51 public:
52  explicit PcmWriterImpl (BseObject*);
53 };
54 
55 } // Bse
56 
57 #endif /* __BSE_PCM_WRITER_H__ */
See also the corresponding IDL class PcmWriter.
Definition: bseserverapi.hh:1534
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Definition: bsepcmwriter.hh:19
Definition: bseobject.hh:61
Definition: bseitem.hh:152
Definition: bsepcmwriter.hh:48
Definition: bseitem.hh:39
Definition: bsepcmwriter.hh:27
Definition: bseitem.hh:34