LMMS
Loading...
Searching...
No Matches
SFZSample.h
Go to the documentation of this file.
1/*************************************************************************************
2 * Original code copyright (C) 2012 Steve Folta
3 * Converted to Juce module (C) 2016 Leo Olivers
4 * Forked from https://github.com/stevefolta/SFZero
5 * For license info please see the LICENSE file distributed with this source code
6 *************************************************************************************/
7#ifndef SFZSAMPLE_H_INCLUDED
8#define SFZSAMPLE_H_INCLUDED
9
10#include "SFZCommon.h"
11
13#include "water/files/File.h"
14
15#include "CarlaScopeUtils.hpp"
16
17namespace sfzero
18{
19
20class Sample
21{
22public:
23 explicit Sample(const water::File &fileIn) : file_(fileIn), buffer_(nullptr), sampleRate_(0), sampleLength_(0), loopStart_(0), loopEnd_(0) {}
24 virtual ~Sample();
25
26 bool load();
27
28 water::File getFile() { return (file_); }
30 double getSampleRate() { return (sampleRate_); }
32 void setBuffer(water::AudioSampleBuffer *newBuffer);
37 water::uint64 getLoopEnd() const { return loopEnd_; }
38
39#ifdef DEBUG
40 void checkIfZeroed(const char *where);
41#endif
42
43private:
45 CarlaScopedPointer<water::AudioSampleBuffer> buffer_;
48
49 CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Sample)
50};
51}
52
53#endif // SFZSAMPLE_H_INCLUDED
#define nullptr
Definition DistrhoDefines.h:75
water::uint64 loopEnd_
Definition SFZSample.h:47
water::File getFile()
Definition SFZSample.h:28
virtual ~Sample()
Definition SFZSample.cpp:115
water::uint64 loopStart_
Definition SFZSample.h:47
water::String getShortName()
Definition SFZSample.cpp:117
water::AudioSampleBuffer * detachBuffer()
Definition SFZSample.cpp:125
water::String dump()
Definition SFZSample.cpp:130
CarlaScopedPointer< water::AudioSampleBuffer > buffer_
Definition SFZSample.h:45
water::File file_
Definition SFZSample.h:44
bool load()
Definition SFZSample.cpp:24
water::uint64 getLoopStart() const
Definition SFZSample.h:36
double getSampleRate()
Definition SFZSample.h:30
water::uint64 getLoopEnd() const
Definition SFZSample.h:37
Sample(const water::File &fileIn)
Definition SFZSample.h:23
water::uint64 getSampleLength() const
Definition SFZSample.h:35
double sampleRate_
Definition SFZSample.h:46
water::AudioSampleBuffer * getBuffer()
Definition SFZSample.h:29
water::uint64 sampleLength_
Definition SFZSample.h:47
void setBuffer(water::AudioSampleBuffer *newBuffer)
Definition SFZSample.cpp:119
Definition AudioSampleBuffer.h:42
Definition File.h:50
Definition String.h:48
Definition SFZDebug.cpp:11
unsigned long long uint64
Definition water.h:102