Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pcmwriterinterface.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #ifndef PCMWRITERINTERFACE
21 #define PCMWRITERINTERFACE
22 
23 #include "../audiobase.h"
24 
36 
38 {
39 public:
45 
46  virtual void init(const int sampleRate, const int channels)
47  { mSampleRate = sampleRate; mChannels = channels; }
48 
49  virtual void exit()=0;
50 
61 
62  virtual bool generateAudioSignal (AudioBase::PacketType &outputPacket) = 0;
63 
64 protected:
65  int mSampleRate = 0;
66  int mChannels = 0;
67 };
68 
69 #endif // PCMWRITERINTERFACE
std::vector< PCMDataType > PacketType
Type definition of a PCM packet (vector of PCM values).
Definition: audiobase.h:51
Abstract base class for sound-producing software components which transmit data to the AudioPlayerAda...
virtual void init(const int sampleRate, const int channels)
Initialize the PCM-Writer with given sample rate and channel number.
int mSampleRate
Sample rate.
virtual bool generateAudioSignal(AudioBase::PacketType &outputPacket)=0
Function that generates new sound and copies it to the outputPacket.
int mChannels
Number of channels.
virtual void exit()=0
Exit, shut down writer interface.