diff options
Diffstat (limited to 'media/native/midi/midi.h')
-rw-r--r-- | media/native/midi/midi.h | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/media/native/midi/midi.h b/media/native/midi/midi.h deleted file mode 100644 index 9332b44dddd2..000000000000 --- a/media/native/midi/midi.h +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANDROID_MEDIA_MIDI_H_ -#define ANDROID_MEDIA_MIDI_H_ - -#include <stdarg.h> -#include <stdint.h> -#include <sys/types.h> - -#include <utils/Errors.h> - -using android::status_t; - -#ifdef __cplusplus -extern "C" { -#endif - -struct AMIDI_Device; -struct AMIDI_InputPort; -struct AMIDI_OutputPort; - -#define AMIDI_INVALID_HANDLE NULL - -enum { - AMIDI_OPCODE_DATA = 1, - AMIDI_OPCODE_FLUSH = 2, - AMIDI_PACKET_SIZE = 1024, /* !!! Currently MidiPortImpl.MAX_PACKET_SIZE !!! */ - AMIDI_PACKET_OVERHEAD = 9, - AMIDI_BUFFER_SIZE = AMIDI_PACKET_SIZE - AMIDI_PACKET_OVERHEAD - /* !!! TBD, currently MidiPortImpl.MAX_PACKET_DATA_SIZE !!! */ -}; - -typedef struct { - uint32_t opcode; - uint8_t buffer[AMIDI_BUFFER_SIZE]; - size_t len; - int64_t timestamp; -} AMIDI_Message; - -enum { - AMIDI_DEVICE_TYPE_USB = 1, - AMIDI_DEVICE_TYPE_VIRTUAL = 2, - AMIDI_DEVICE_TYPE_BLUETOOTH = 3 -}; - -typedef struct { - int32_t type; - int32_t uid; - int32_t isPrivate; - int32_t inputPortCount; - int32_t outputPortCount; -} AMIDI_DeviceInfo; - -/* - * Device API - */ -/* - * Retrieves information for the native MIDI device. - * - * device The Native API token for the device. - * deviceInfoPtr Receives the associated device info. - * - * Returns OK or a (negative) error code. - */ -status_t AMIDI_getDeviceInfo(AMIDI_Device *device, AMIDI_DeviceInfo *deviceInfoPtr); - -/* - * API for receiving data from the Output port of a device. - */ -/* - * Opens the output port. - * - * device Identifies the device. - * portNumber Specifies the zero-based port index on the device to open. - * outputPortPtr Receives the native API port identifier of the opened port. - * - * Returns OK, or a (negative) error code. - */ -status_t AMIDI_openOutputPort(AMIDI_Device *device, int portNumber, - AMIDI_OutputPort **outputPortPtr); - -/* - * Receives any pending MIDI messages (up to the specified maximum number of messages). - * - * outputPort Identifies the port to receive messages from. - * messages Points to an array (size maxMessages) to receive the MIDI messages. - * maxMessages The number of messages allocated in the messages array. - * - * Returns the number of messages received, or a (negative) error code. - */ -ssize_t AMIDI_receive(AMIDI_OutputPort *outputPort, AMIDI_Message *messages, ssize_t maxMessages); - -/* - * Closes the output port. - * - * outputPort The native API port identifier of the port. - * - * Returns OK, or a (negative) error code. - */ -status_t AMIDI_closeOutputPort(AMIDI_OutputPort *outputPort); - -/* - * API for sending data to the Input port of a device. - */ -/* - * Opens the input port. - * - * device Identifies the device. - * portNumber Specifies the zero-based port index on the device to open. - * inputPortPtr Receives the native API port identifier of the opened port. - * - * Returns OK, or a (negative) error code. - */ -status_t AMIDI_openInputPort(AMIDI_Device *device, int portNumber, AMIDI_InputPort **inputPortPtr); - -/* - * Returns the maximum number of bytes that can be received in a single MIDI message. - */ -ssize_t AMIDI_getMaxMessageSizeInBytes(AMIDI_InputPort *inputPort); - -/* - * Sends data to the specified input port. - * - * inputPort The native API identifier of the port to send data to. - * buffer Points to the array of bytes containing the data to send. - * numBytes Specifies the number of bytes to write. - * - * Returns The number of bytes sent or a (negative) error code. - */ -ssize_t AMIDI_send(AMIDI_InputPort *inputPort, uint8_t *buffer, ssize_t numBytes); - -/* - * Sends data to the specified input port with a timestamp. - * - * inputPort The native API identifier of the port to send data to. - * buffer Points to the array of bytes containing the data to send. - * numBytes Specifies the number of bytes to write. - * timestamp The time stamp to associate with the sent data. - * - * Returns The number of bytes sent or a (negative) error code. - */ -ssize_t AMIDI_sendWithTimestamp(AMIDI_InputPort *inputPort, uint8_t *buffer, - ssize_t numBytes, int64_t timestamp); - -/* - * Sends a message with a 'MIDI flush command code' to the specified port. - * - * inputPort The native API identifier of the port to send the flush message to. - * - * Returns OK, or a (negative) error code. - */ -status_t AMIDI_flush(AMIDI_InputPort *inputPort); - -/* - * Closes the input port. - * - * inputPort The native API port identifier of the port. - * - * - * Returns OK, or a (negative) error code. - */ -status_t AMIDI_closeInputPort(AMIDI_InputPort *inputPort); - -#ifdef __cplusplus -} -#endif - -#endif /* ANDROID_MEDIA_MIDI_H_ */ |