-
jsiegle authored
To run this in the future, install astyle (sudo apt-get install astyle), then enter the following from the top-level project directory: astyle --options=astyle.options --recursive "./Source/*.cpp" "./Source/*.h" This will convert tabs to 4 spaces and ensure that brackets are on their own lines.
jsiegle authoredTo run this in the future, install astyle (sudo apt-get install astyle), then enter the following from the top-level project directory: astyle --options=astyle.options --recursive "./Source/*.cpp" "./Source/*.h" This will convert tabs to 4 spaces and ensure that brackets are on their own lines.
ResamplingNode.h 2.42 KiB
/*
------------------------------------------------------------------
This file is part of the Open Ephys GUI
Copyright (C) 2013 Open Ephys
------------------------------------------------------------------
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __RESAMPLINGNODE_H_79663B0__
#define __RESAMPLINGNODE_H_79663B0__
#include "../../JuceLibraryCode/JuceHeader.h"
#include "../Dsp/Dsp.h"
#include "GenericProcessor.h"
#define TEMP_BUFFER_WIDTH 5000
/**
Changes the sample rate of continuous data.
Code is based on Juce's ResamplingAudioSource class.
@see GenericProcessor
*/
class ResamplingNode : public GenericProcessor
{
public:
// real member functions:
ResamplingNode();
~ResamplingNode();
void process(AudioSampleBuffer& buffer, MidiBuffer& midiMessages, int& nSamples);
void setParameter(int parameterIndex, float newValue);
void updateSettings();
void updateFilter();
bool enable();
AudioProcessorEditor* createEditor();
bool hasEditor() const
{
return true;
}
private:
// sample rate, timebase, and ratio info:
double targetSampleRate;
double sourceBufferSampleRate; //, destBufferSampleRate;
double ratio; //, lastRatio;
//double destBufferTimebaseSecs;
//int destBufferWidth;
// major objects:
Dsp::Filter* filter;
//ScopedPointer<AudioSampleBuffer> destBuffer;
ScopedPointer<AudioSampleBuffer> tempBuffer;
// is the destBuffer a temp buffer or not?
//bool destBufferIsTempBuffer;
//bool isTransmitting;
// indexing objects that persist between rounds:
//int destBufferPos;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ResamplingNode);
};
#endif // __RESAMPLINGNODE_H_79663B0__