OpenShot Audio Library | OpenShotAudio
0.4.0
Loading...
Searching...
No Matches
juce_UMPDeviceInfo.h
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2022 - Raw Material Software Limited
6
7
JUCE is an open source library subject to commercial or open-source
8
licensing.
9
10
The code included in this file is provided under the terms of the ISC license
11
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12
To use, copy, modify, and/or distribute this software for any purpose with or
13
without fee is hereby granted provided that the above copyright notice and
14
this permission notice appear in all copies.
15
16
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18
DISCLAIMED.
19
20
==============================================================================
21
*/
22
23
namespace
juce::universal_midi_packets
24
{
25
32
struct
DeviceInfo
33
{
34
std::array<std::byte, 3>
manufacturer
;
35
std::array<std::byte, 2>
family
;
36
std::array<std::byte, 2>
modelNumber
;
37
std::array<std::byte, 4> revision;
38
39
private
:
40
auto
tie()
const
{
return
std::tie (
manufacturer
,
family
,
modelNumber
, revision); }
41
42
public
:
43
bool
operator==
(
const
DeviceInfo
& other)
const
{
return
tie() == other.tie(); }
44
bool
operator!=
(
const
DeviceInfo& other)
const
{
return
tie() != other.tie(); }
45
46
static
constexpr
auto
marshallingVersion = std::nullopt;
47
48
template
<
typename
Archive,
typename
This>
49
static
auto
serialise (Archive& archive, This& t)
50
{
51
return
archive (named (
"manufacturer"
, t.manufacturer),
52
named (
"family"
, t.family),
53
named (
"modelNumber"
, t.modelNumber),
54
named (
"revision"
, t.revision));
55
}
56
};
57
58
}
// namespace juce::universal_midi_packets
juce::Optional
Definition
juce_Optional.h:57
juce::universal_midi_packets::DeviceInfo
Definition
juce_UMPDeviceInfo.h:33
juce::universal_midi_packets::DeviceInfo::modelNumber
std::array< std::byte, 2 > modelNumber
LSB first.
Definition
juce_UMPDeviceInfo.h:36
juce::universal_midi_packets::DeviceInfo::manufacturer
std::array< std::byte, 3 > manufacturer
LSB first.
Definition
juce_UMPDeviceInfo.h:34
juce::universal_midi_packets::DeviceInfo::family
std::array< std::byte, 2 > family
LSB first.
Definition
juce_UMPDeviceInfo.h:35
JuceLibraryCode
modules
juce_audio_basics
midi
ump
juce_UMPDeviceInfo.h
Generated by
1.10.0