LMMS
Loading...
Searching...
No Matches
SFZSound.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 SFZSOUND_H_INCLUDED
8#define SFZSOUND_H_INCLUDED
9
10#include "SFZRegion.h"
11
15
16namespace sfzero
17{
18
19class Sample;
20
22{
23public:
25 void (*callback)(void*);
27 };
28
29 explicit Sound(const water::File &file);
30 virtual ~Sound();
31
33
34 bool appliesToNote(int midiNoteNumber) override;
35 bool appliesToChannel(int midiChannel) override;
36
37 void addRegion(Region *region); // Takes ownership of the region.
39 void addError(const water::String &message);
41
42 virtual void loadRegions();
43 virtual void loadSamples(const LoadingIdleCallback& cb);
44
45 Region *getRegionFor(int note, int velocity, Region::Trigger trigger = Region::attack);
46 int getNumRegions();
47 Region *regionAt(int index);
48
51
53 void dumpToConsole();
54
56 water::File &getFile() { return file_; }
57
58private:
65
66 CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Sound)
67};
68}
69
70#endif // SFZSOUND_H_INCLUDED
opcode
Definition Spc_Cpu.h:173
static void message(int level, const char *fmt,...)
Definition adplugdb.cpp:120
Definition SFZSample.h:21
void dumpToConsole()
Definition SFZSound.cpp:180
water::File file_
Definition SFZSound.h:59
Sound(const water::File &file)
Definition SFZSound.cpp:16
water::HashMap< water::String, water::String > unsupportedOpcodes_
Definition SFZSound.h:64
Region * regionAt(int index)
Definition SFZSound.cpp:121
virtual void loadRegions()
Definition SFZSound.cpp:78
water::ReferenceCountedObjectPtr< Sound > Ptr
Definition SFZSound.h:32
water::Array< Region * > & getRegions()
Definition SFZSound.h:55
int getNumRegions()
Definition SFZSound.cpp:119
water::StringArray errors_
Definition SFZSound.h:62
virtual ~Sound()
Definition SFZSound.cpp:17
const water::StringArray & getErrors()
Definition SFZSound.h:49
const water::StringArray & getWarnings()
Definition SFZSound.h:50
bool appliesToChannel(int midiChannel) override
Definition SFZSound.cpp:39
water::String dump()
Definition SFZSound.cpp:123
Region * getRegionFor(int note, int velocity, Region::Trigger trigger=Region::attack)
Definition SFZSound.cpp:103
Sample * addSample(water::String path, water::String defaultPath=water::String())
Definition SFZSound.cpp:41
water::StringArray warnings_
Definition SFZSound.h:63
void addUnsupportedOpcode(const water::String &opcode)
Definition SFZSound.cpp:67
water::File & getFile()
Definition SFZSound.h:56
water::Array< Region * > regions_
Definition SFZSound.h:60
void addRegion(Region *region)
Definition SFZSound.cpp:40
virtual void loadSamples(const LoadingIdleCallback &cb)
Definition SFZSound.cpp:85
water::HashMap< water::String, Sample * > samples_
Definition SFZSound.h:61
void addError(const water::String &message)
Definition SFZSound.cpp:65
bool appliesToNote(int midiNoteNumber) override
Definition SFZSound.cpp:33
Definition Array.h:57
Definition File.h:50
Definition HashMap.h:101
Definition ReferenceCountedObject.h:227
Definition StringArray.h:41
Definition String.h:48
Definition Synthesiser.h:52
Definition SFZDebug.cpp:11
Definition SFZRegion.h:30
Trigger
Definition SFZRegion.h:32
@ attack
Definition SFZRegion.h:33
Definition SFZSound.h:24
void(* callback)(void *)
Definition SFZSound.h:25
void * callbackPtr
Definition SFZSound.h:26
#define void
Definition unzip.h:396
struct zdirent * file
Definition win32.c:1500