lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
include
Midi.h
Go to the documentation of this file.
1
/*
2
* Midi.h - constants, structs etc. concerning MIDI
3
*
4
* Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
5
*
6
* This file is part of LMMS - https://lmms.io
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public
19
* License along with this program (see COPYING); if not, write to the
20
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
* Boston, MA 02110-1301 USA.
22
*
23
*/
24
25
#ifndef LMMS_MIDI_H
26
#define LMMS_MIDI_H
27
28
29
namespace
lmms
30
{
31
32
33
enum
MidiEventTypes
34
{
35
// messages
36
MidiNoteOff
= 0x80,
37
MidiNoteOn
= 0x90,
38
MidiKeyPressure
= 0xA0,
39
MidiControlChange
= 0xB0,
40
MidiProgramChange
= 0xC0,
41
MidiChannelPressure
= 0xD0,
42
MidiPitchBend
= 0xE0,
43
// system exclusive
44
MidiSysEx
= 0xF0,
45
// system common - never in midi files
46
MidiTimeCode
= 0xF1,
47
MidiSongPosition
= 0xF2,
48
MidiSongSelect
= 0xF3,
49
MidiTuneRequest
= 0xF6,
50
MidiEOX
= 0xF7,
51
// system real-time - never in midi files
52
MidiSync
= 0xF8,
53
MidiTick
= 0xF9,
54
MidiStart
= 0xFA,
55
MidiContinue
= 0xFB,
56
MidiStop
= 0xFC,
57
MidiActiveSensing
= 0xFE,
58
MidiSystemReset
= 0xFF,
59
// meta event - for midi files only
60
MidiMetaEvent
= 0xFF
61
} ;
62
63
enum
MidiMetaEventTypes
64
{
65
MidiMetaInvalid
= 0x00,
66
MidiCopyright
= 0x02,
67
MidiTrackName
= 0x03,
68
MidiInstName
= 0x04,
69
MidiLyric
= 0x05,
70
MidiMarker
= 0x06,
71
MidiCuePoint
= 0x07,
72
MidiPortNumber
= 0x21,
73
MidiEOT
= 0x2f,
74
MidiSetTempo
= 0x51,
75
MidiSMPTEOffset
= 0x54,
76
MidiTimeSignature
= 0x58,
77
MidiKeySignature
= 0x59,
78
MidiSequencerEvent
= 0x7f,
79
MidiMetaCustom
= 0x80,
80
MidiNotePanning
81
} ;
82
using
MidiMetaEventType
=
MidiMetaEventTypes
;
83
84
enum
MidiStandardControllers
85
{
86
MidiControllerBankSelect
= 0,
87
MidiControllerModulationWheel
= 1,
88
MidiControllerBreathController
= 2,
89
MidiControllerFootController
= 4,
90
MidiControllerPortamentoTime
= 5,
91
MidiControllerDataEntry
= 6,
92
MidiControllerMainVolume
= 7,
93
MidiControllerBalance
= 8,
94
MidiControllerPan
= 10,
95
MidiControllerEffectControl1
= 12,
96
MidiControllerEffectControl2
= 13,
97
MidiControllerSustain
= 64,
98
MidiControllerPortamento
= 65,
99
MidiControllerSostenuto
= 66,
100
MidiControllerSoftPedal
= 67,
101
MidiControllerLegatoFootswitch
= 68,
102
MidiControllerRegisteredParameterNumberLSB
= 100,
103
MidiControllerRegisteredParameterNumberMSB
= 101,
104
// Channel Mode Messages are controllers too...
105
MidiControllerAllSoundOff
= 120,
106
MidiControllerResetAllControllers
= 121,
107
MidiControllerLocalControl
= 122,
108
MidiControllerAllNotesOff
= 123,
109
MidiControllerOmniOn
= 124,
110
MidiControllerOmniOff
= 125,
111
MidiControllerMonoOn
= 126,
112
MidiControllerPolyOn
= 127,
113
114
};
115
116
enum
MidiControllerRegisteredParameterNumbers
117
{
118
MidiPitchBendSensitivityRPN
= 0x0000,
119
MidiChannelFineTuningRPN
= 0x0001,
120
MidiChannelCoarseTuningRPN
= 0x0002,
121
MidiTuningProgramChangeRPN
= 0x0003,
122
MidiTuningBankSelectRPN
= 0x0004,
123
MidiModulationDepthRangeRPN
= 0x0005,
124
MidiNullFunctionNumberRPN
= 0x7F7F
125
};
126
127
const
int
MidiChannelCount
= 16;
128
const
int
MidiControllerCount
= 128;
129
const
int
MidiProgramCount
= 128;
130
const
int
MidiMaxVelocity
= 127;
131
const
int
MidiDefaultVelocity
=
MidiMaxVelocity
/ 2;
132
const
int
MidiMaxControllerValue
= 127;
133
const
int
MidiMaxKey
= 127;
134
135
const
int
MidiMaxPanning
= 127;
136
const
int
MidiMinPanning
= -128;
137
138
const
int
MidiMinPitchBend
= 0;
139
const
int
MidiMaxPitchBend
= 16383;
140
141
142
}
// namespace lmms
143
144
#endif
// LMMS_MIDI_H
lmms
Definition
RemotePluginBase.cpp:34
lmms::MidiControllerCount
const int MidiControllerCount
Definition
Midi.h:128
lmms::MidiDefaultVelocity
const int MidiDefaultVelocity
Definition
Midi.h:131
lmms::MidiMaxKey
const int MidiMaxKey
Definition
Midi.h:133
lmms::MidiControllerRegisteredParameterNumbers
MidiControllerRegisteredParameterNumbers
Definition
Midi.h:117
lmms::MidiTuningBankSelectRPN
@ MidiTuningBankSelectRPN
Definition
Midi.h:122
lmms::MidiChannelCoarseTuningRPN
@ MidiChannelCoarseTuningRPN
Definition
Midi.h:120
lmms::MidiPitchBendSensitivityRPN
@ MidiPitchBendSensitivityRPN
Definition
Midi.h:118
lmms::MidiModulationDepthRangeRPN
@ MidiModulationDepthRangeRPN
Definition
Midi.h:123
lmms::MidiNullFunctionNumberRPN
@ MidiNullFunctionNumberRPN
Definition
Midi.h:124
lmms::MidiTuningProgramChangeRPN
@ MidiTuningProgramChangeRPN
Definition
Midi.h:121
lmms::MidiChannelFineTuningRPN
@ MidiChannelFineTuningRPN
Definition
Midi.h:119
lmms::MidiMaxPitchBend
const int MidiMaxPitchBend
Definition
Midi.h:139
lmms::MidiMetaEventTypes
MidiMetaEventTypes
Definition
Midi.h:64
lmms::MidiCopyright
@ MidiCopyright
Definition
Midi.h:66
lmms::MidiPortNumber
@ MidiPortNumber
Definition
Midi.h:72
lmms::MidiNotePanning
@ MidiNotePanning
Definition
Midi.h:80
lmms::MidiTimeSignature
@ MidiTimeSignature
Definition
Midi.h:76
lmms::MidiLyric
@ MidiLyric
Definition
Midi.h:69
lmms::MidiMarker
@ MidiMarker
Definition
Midi.h:70
lmms::MidiSetTempo
@ MidiSetTempo
Definition
Midi.h:74
lmms::MidiSMPTEOffset
@ MidiSMPTEOffset
Definition
Midi.h:75
lmms::MidiEOT
@ MidiEOT
Definition
Midi.h:73
lmms::MidiKeySignature
@ MidiKeySignature
Definition
Midi.h:77
lmms::MidiCuePoint
@ MidiCuePoint
Definition
Midi.h:71
lmms::MidiSequencerEvent
@ MidiSequencerEvent
Definition
Midi.h:78
lmms::MidiInstName
@ MidiInstName
Definition
Midi.h:68
lmms::MidiTrackName
@ MidiTrackName
Definition
Midi.h:67
lmms::MidiMetaInvalid
@ MidiMetaInvalid
Definition
Midi.h:65
lmms::MidiMetaCustom
@ MidiMetaCustom
Definition
Midi.h:79
lmms::MidiMaxControllerValue
const int MidiMaxControllerValue
Definition
Midi.h:132
lmms::MidiMaxPanning
const int MidiMaxPanning
Definition
Midi.h:135
lmms::MidiMaxVelocity
const int MidiMaxVelocity
Definition
Midi.h:130
lmms::MidiMinPanning
const int MidiMinPanning
Definition
Midi.h:136
lmms::MidiEventTypes
MidiEventTypes
Definition
Midi.h:34
lmms::MidiMetaEvent
@ MidiMetaEvent
Definition
Midi.h:60
lmms::MidiSync
@ MidiSync
Definition
Midi.h:52
lmms::MidiContinue
@ MidiContinue
Definition
Midi.h:55
lmms::MidiNoteOn
@ MidiNoteOn
Definition
Midi.h:37
lmms::MidiTick
@ MidiTick
Definition
Midi.h:53
lmms::MidiStart
@ MidiStart
Definition
Midi.h:54
lmms::MidiTimeCode
@ MidiTimeCode
Definition
Midi.h:46
lmms::MidiControlChange
@ MidiControlChange
Definition
Midi.h:39
lmms::MidiSysEx
@ MidiSysEx
Definition
Midi.h:44
lmms::MidiSystemReset
@ MidiSystemReset
Definition
Midi.h:58
lmms::MidiEOX
@ MidiEOX
Definition
Midi.h:50
lmms::MidiChannelPressure
@ MidiChannelPressure
Definition
Midi.h:41
lmms::MidiSongPosition
@ MidiSongPosition
Definition
Midi.h:47
lmms::MidiKeyPressure
@ MidiKeyPressure
Definition
Midi.h:38
lmms::MidiTuneRequest
@ MidiTuneRequest
Definition
Midi.h:49
lmms::MidiProgramChange
@ MidiProgramChange
Definition
Midi.h:40
lmms::MidiActiveSensing
@ MidiActiveSensing
Definition
Midi.h:57
lmms::MidiSongSelect
@ MidiSongSelect
Definition
Midi.h:48
lmms::MidiStop
@ MidiStop
Definition
Midi.h:56
lmms::MidiNoteOff
@ MidiNoteOff
Definition
Midi.h:36
lmms::MidiPitchBend
@ MidiPitchBend
Definition
Midi.h:42
lmms::MidiChannelCount
const int MidiChannelCount
Definition
Midi.h:127
lmms::MidiProgramCount
const int MidiProgramCount
Definition
Midi.h:129
lmms::MidiStandardControllers
MidiStandardControllers
Definition
Midi.h:85
lmms::MidiControllerSostenuto
@ MidiControllerSostenuto
Definition
Midi.h:99
lmms::MidiControllerMainVolume
@ MidiControllerMainVolume
Definition
Midi.h:92
lmms::MidiControllerResetAllControllers
@ MidiControllerResetAllControllers
Definition
Midi.h:106
lmms::MidiControllerAllSoundOff
@ MidiControllerAllSoundOff
Definition
Midi.h:105
lmms::MidiControllerSoftPedal
@ MidiControllerSoftPedal
Definition
Midi.h:100
lmms::MidiControllerRegisteredParameterNumberLSB
@ MidiControllerRegisteredParameterNumberLSB
Definition
Midi.h:102
lmms::MidiControllerMonoOn
@ MidiControllerMonoOn
Definition
Midi.h:111
lmms::MidiControllerOmniOff
@ MidiControllerOmniOff
Definition
Midi.h:110
lmms::MidiControllerEffectControl2
@ MidiControllerEffectControl2
Definition
Midi.h:96
lmms::MidiControllerLegatoFootswitch
@ MidiControllerLegatoFootswitch
Definition
Midi.h:101
lmms::MidiControllerLocalControl
@ MidiControllerLocalControl
Definition
Midi.h:107
lmms::MidiControllerPolyOn
@ MidiControllerPolyOn
Definition
Midi.h:112
lmms::MidiControllerFootController
@ MidiControllerFootController
Definition
Midi.h:89
lmms::MidiControllerModulationWheel
@ MidiControllerModulationWheel
Definition
Midi.h:87
lmms::MidiControllerAllNotesOff
@ MidiControllerAllNotesOff
Definition
Midi.h:108
lmms::MidiControllerPortamento
@ MidiControllerPortamento
Definition
Midi.h:98
lmms::MidiControllerRegisteredParameterNumberMSB
@ MidiControllerRegisteredParameterNumberMSB
Definition
Midi.h:103
lmms::MidiControllerEffectControl1
@ MidiControllerEffectControl1
Definition
Midi.h:95
lmms::MidiControllerOmniOn
@ MidiControllerOmniOn
Definition
Midi.h:109
lmms::MidiControllerPan
@ MidiControllerPan
Definition
Midi.h:94
lmms::MidiControllerBreathController
@ MidiControllerBreathController
Definition
Midi.h:88
lmms::MidiControllerDataEntry
@ MidiControllerDataEntry
Definition
Midi.h:91
lmms::MidiControllerBankSelect
@ MidiControllerBankSelect
Definition
Midi.h:86
lmms::MidiControllerPortamentoTime
@ MidiControllerPortamentoTime
Definition
Midi.h:90
lmms::MidiControllerBalance
@ MidiControllerBalance
Definition
Midi.h:93
lmms::MidiControllerSustain
@ MidiControllerSustain
Definition
Midi.h:97
lmms::MidiMinPitchBend
const int MidiMinPitchBend
Definition
Midi.h:138
lmms::MidiMetaEventType
MidiMetaEventTypes MidiMetaEventType
Definition
Midi.h:82
Generated on
for lmms by
1.18.0