tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
midi
tracktion_MidiSysexEvent.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
class
MidiSysexEvent
15
{
16
public
:
17
static
juce::ValueTree
createSysexEvent (
const
MidiSysexEvent
&,
BeatPosition
);
18
static
juce::ValueTree
createSysexEvent (
const
juce::MidiMessage
&,
BeatPosition
);
19
20
MidiSysexEvent
(
const
juce::ValueTree
&);
21
MidiSysexEvent
(
const
juce::MidiMessage
&);
22
MidiSysexEvent
(
const
juce::MidiMessage
&,
BeatPosition
);
23
~MidiSysexEvent
()
noexcept
{}
24
25
//==============================================================================
26
const
juce::MidiMessage
& getMessage()
const
noexcept
{
return
message; }
27
void
setMessage (
const
juce::MidiMessage
&,
juce::UndoManager
*);
28
29
//==============================================================================
30
BeatPosition
getBeatPosition()
const
noexcept
{
return
BeatPosition::fromBeats (message.
getTimeStamp
()); }
31
void
setBeatPosition (
BeatPosition
,
juce::UndoManager
*);
32
33
// takes into account quantising, groove templates, clip offset, etc
34
TimePosition
getEditTime (
const
MidiClip
&)
const
;
35
BeatPosition
getEditBeats (
const
MidiClip
&)
const
;
36
37
juce::ValueTree
state;
38
39
private
:
40
//==============================================================================
41
friend
class
MidiList
;
42
juce::MidiMessage
message;
43
44
void
updateMessage();
45
void
updateTime();
46
47
MidiSysexEvent
() =
delete
;
48
MidiSysexEvent
(
const
MidiSysexEvent
&) =
delete
;
49
50
JUCE_LEAK_DETECTOR
(
MidiSysexEvent
)
51
};
52
53
}}
// namespace tracktion { inline namespace engine
juce::MidiMessage
juce::MidiMessage::getTimeStamp
double getTimeStamp() const noexcept
tracktion::engine::MidiClip
Definition
tracktion_MidiClip.h:18
tracktion::engine::MidiList
Definition
tracktion_MidiList.h:17
tracktion::engine::MidiSysexEvent
Definition
tracktion_MidiSysexEvent.h:15
JUCE_LEAK_DETECTOR
#define JUCE_LEAK_DETECTOR(OwnerClass)
tracktion
Definition
tracktion_AudioReader.h:23
juce::UndoManager
juce::ValueTree
tracktion::BeatPosition
Represents a position in beats.
Definition
tracktion_Time.h:255
tracktion::TimePosition
Represents a position in real-life time.
Definition
tracktion_Time.h:30
« « « Anklang Documentation