1
/***************************************************************************
2
enginebuffer.h - description
4
begin : Wed Feb 20 2002
5
copyright : (C) 2002 by Tue and Ken Haste Andersen
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#ifndef ENGINEBUFFER_H
19
#define ENGINEBUFFER_H
22
#include <qpushbutton.h>
23
#include <qmultilineedit.h>
28
#include <semaphore.h>
31
#include "engineobject.h"
32
#include "soundsource.h"
33
#include "controlpushbutton.h"
34
#include "controlpotmeter.h"
35
#include "dlgplaycontrol.h"
36
#include "dlgchannel.h"
37
#include "dlgmessages.h"
38
#include "midiobject.h"
40
*@author Tue and Ken Haste Andersen
43
class EngineBuffer : public EngineObject, public QThread {
48
//DlgPlaycontrol *playcontrol;
49
//QMultiLineEdit *messages;
50
ControlPushButton *PlayButton;
51
ControlPotmeter *rateSlider;
56
unsigned long int filepos;
59
long distance(const long, const long);
60
FLOAT min(const FLOAT, const FLOAT);
61
FLOAT max(const FLOAT, const FLOAT);
63
EngineBuffer(DlgPlaycontrol *, DlgChannel *, MidiObject *, char *);
66
void process(CSAMPLE *, CSAMPLE *, int);
67
sem_t *buffers_read_ahead;
68
unsigned long int read_buffer_size;
69
unsigned long int frontpos;
77
void slotUpdatePlay(valueType);
78
void slotUpdateRate(FLOAT);