LMMS
Loading...
Searching...
No Matches
OssMultiEngine.h
Go to the documentation of this file.
1/*
2 ZynAddSubFX - a software synthesizer
3
4 OssMultiEngine.h - Multi channel audio output for Open Sound System
5 Copyright (C) 2014 Hans Petter Selasky
6
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
11*/
12
13#ifndef OSS_MULTI_ENGINE_H
14#define OSS_MULTI_ENGINE_H
15
16#include <sys/time.h>
17#include "../globals.h"
18#include "AudioOut.h"
19
20namespace zyncarla {
21
23{
24 public:
26 const class oss_devs_t& oss_devs);
28
29 bool Start();
30 void Stop();
31
32 void setAudioEn(bool nval);
33 bool getAudioEn() const;
34
35 protected:
36 void *audioThreadCb();
37 static void *_audioThreadCb(void *arg);
38
39 private:
40 pthread_t audioThread;
41
42 /* Audio */
43 bool openAudio();
44 void stopAudio();
45
46 int handle;
50
51 union {
52 /* Samples to be sent to soundcard */
53 short int *ps16;
54 int *ps32;
56
57 /* peak values used for compressor */
58 float *peaks;
59
60 bool en;
61 bool is32bit;
62
64};
65
66}
67
68#endif
const SYNTH_T & synth
Definition AudioOut.h:50
AudioOut(const SYNTH_T &synth)
Definition AudioOut.cpp:26
short int * ps16
Definition OssMultiEngine.h:53
void * audioThreadCb()
Definition OssMultiEngine.cpp:213
int buffersize
Definition OssMultiEngine.h:48
bool Start()
Definition OssMultiEngine.cpp:180
union zyncarla::OssMultiEngine::@366114164107273344231124174263170351217040330301 smps
~OssMultiEngine()
Definition OssMultiEngine.cpp:66
int maxbuffersize
Definition OssMultiEngine.h:47
int channels
Definition OssMultiEngine.h:49
int * ps32
Definition OssMultiEngine.h:54
bool getAudioEn() const
Definition OssMultiEngine.cpp:201
bool en
Definition OssMultiEngine.h:60
static void * _audioThreadCb(void *arg)
Definition OssMultiEngine.cpp:207
float * peaks
Definition OssMultiEngine.h:58
pthread_t audioThread
Definition OssMultiEngine.h:40
bool is32bit
Definition OssMultiEngine.h:61
int handle
Definition OssMultiEngine.h:46
void Stop()
Definition OssMultiEngine.cpp:186
OssMultiEngine(const SYNTH_T &synth, const class oss_devs_t &oss_devs)
Definition OssMultiEngine.cpp:40
const char * linux_oss_wave_out_dev
Definition OssMultiEngine.h:63
bool openAudio()
Definition OssMultiEngine.cpp:74
void setAudioEn(bool nval)
Definition OssMultiEngine.cpp:192
void stopAudio()
Definition OssMultiEngine.cpp:163
Definition Config.h:29
Definition zynaddsubfx-src.cpp:569
float arg(const fft_t *freqs, off_t x)
Definition OscilGen.cpp:286
Definition globals.h:294