tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
plugins
ARA
tracktion_MelodyneFileReader.h
Go to the documentation of this file.
1
/*
2
,--. ,--. ,--. ,--.
3
,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4
'-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5
| | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6
`---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8
Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9
*/
10
11
namespace
tracktion
{
inline
namespace
engine
12
{
13
14
struct
ARAClipPlayer;
15
16
class
MelodyneFileReader
:
public
juce::ReferenceCountedObject
,
17
public
juce::ChangeBroadcaster
18
{
19
public
:
20
MelodyneFileReader
(
Edit
&,
AudioClipBase
&);
21
MelodyneFileReader
(
Edit
&,
AudioClipBase
&,
MelodyneFileReader
& oneToClone);
22
~MelodyneFileReader
();
23
24
using
Ptr
=
juce::ReferenceCountedObjectPtr<MelodyneFileReader>
;
25
26
static
void
cleanUpOnShutdown();
27
28
//==============================================================================
29
bool
isValid()
const
noexcept
{
return
player !=
nullptr
; }
30
31
ExternalPlugin
* getPlugin();
32
void
showPluginWindow();
33
void
hidePluginWindow();
34
35
bool
isAnalysingContent();
36
juce::MidiMessageSequence
getAnalysedMIDISequence();
37
38
void
sourceClipChanged();
39
40
private
:
41
std::unique_ptr<ARAClipPlayer>
player;
42
juce::MidiBuffer
midiBuffer;
43
44
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
MelodyneFileReader
)
45
};
46
47
48
//==============================================================================
49
struct
ARADocumentHolder
50
{
51
ARADocumentHolder
(
Edit
&,
const
juce::ValueTree
&);
52
~ARADocumentHolder
();
53
54
void
flushStateToValueTree();
55
56
struct
Pimpl;
57
Pimpl* getPimpl();
58
59
private
:
60
Edit
& edit;
61
juce::ValueTree
lastState;
62
std::unique_ptr<Pimpl>
pimpl;
63
64
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
ARADocumentHolder
)
65
};
66
67
}}
// namespace tracktion { inline namespace engine
juce::ChangeBroadcaster
juce::MidiBuffer
juce::MidiMessageSequence
juce::ReferenceCountedObjectPtr< MelodyneFileReader >
juce::ReferenceCountedObject
tracktion::engine::AudioClipBase
Base class for Clips that produce some kind of audio e.g.
Definition
tracktion_AudioClipBase.h:34
tracktion::engine::Edit
The Tracktion Edit class!
Definition
tracktion_Edit.h:65
tracktion::engine::ExternalPlugin
Definition
tracktion_ExternalPlugin.h:20
tracktion::engine::MelodyneFileReader
Definition
tracktion_MelodyneFileReader.h:18
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
tracktion
Definition
tracktion_AudioReader.h:23
juce::ValueTree
tracktion::ARADocumentHolder
Definition
tracktion_MelodyneFileReader.h:50
std::unique_ptr
« « « Anklang Documentation