linux/sound/usb/6fire/midi.h
<<
>>
Prefs
   1/*
   2 * Linux driver for TerraTec DMX 6Fire USB
   3 *
   4 * Author:      Torsten Schenk <torsten.schenk@zoho.com>
   5 * Created:     Jan 01, 2011
   6 * Copyright:   (C) Torsten Schenk
   7 *
   8 * This program is free software; you can redistribute it and/or modify
   9 * it under the terms of the GNU General Public License as published by
  10 * the Free Software Foundation; either version 2 of the License, or
  11 * (at your option) any later version.
  12 */
  13
  14#ifndef USB6FIRE_MIDI_H
  15#define USB6FIRE_MIDI_H
  16
  17#include "common.h"
  18
  19struct midi_runtime {
  20        struct sfire_chip *chip;
  21        struct snd_rawmidi *instance;
  22
  23        struct snd_rawmidi_substream *in;
  24        char in_active;
  25
  26        spinlock_t in_lock;
  27        spinlock_t out_lock;
  28        struct snd_rawmidi_substream *out;
  29        struct urb out_urb;
  30        u8 out_serial; /* serial number of out packet */
  31        u8 *out_buffer;
  32        int buffer_offset;
  33
  34        void (*in_received)(struct midi_runtime *rt, u8 *data, int length);
  35};
  36
  37int usb6fire_midi_init(struct sfire_chip *chip);
  38void usb6fire_midi_abort(struct sfire_chip *chip);
  39void usb6fire_midi_destroy(struct sfire_chip *chip);
  40#endif /* USB6FIRE_MIDI_H */
  41
  42