1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef MEDIA_MIDI_USB_MIDI_JACK_H_
- #define MEDIA_MIDI_USB_MIDI_JACK_H_
- #include <stdint.h>
- #include "media/midi/usb_midi_export.h"
- namespace midi {
- class UsbMidiDevice;
- // UsbMidiJack represents an EMBEDDED MIDI jack.
- struct USB_MIDI_EXPORT UsbMidiJack {
- // The direction of the endpoint associated with an EMBEDDED MIDI jack.
- // Note that an IN MIDI jack associated with an OUT endpoint has
- // ***DIRECTION_OUT*** direction.
- enum Direction {
- DIRECTION_IN,
- DIRECTION_OUT,
- };
- UsbMidiJack(UsbMidiDevice* device,
- uint8_t jack_id,
- uint8_t cable_number,
- uint8_t endpoint_address)
- : device(device),
- jack_id(jack_id),
- cable_number(cable_number),
- endpoint_address(endpoint_address) {}
- // Not owned
- UsbMidiDevice* device;
- // The id of this jack unique in the interface.
- uint8_t jack_id;
- // The cable number of this jack in the associated endpoint.
- uint8_t cable_number;
- // The address of the endpoint that this jack is associated with.
- uint8_t endpoint_address;
- Direction direction() const {
- return (endpoint_address & 0x80) ? DIRECTION_IN : DIRECTION_OUT;
- }
- uint8_t endpoint_number() const { return (endpoint_address & 0xf); }
- };
- } // namespace midi
- #endif // MEDIA_MIDI_USB_MIDI_JACK_H_
|