midi.h 859 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Linux driver for TerraTec DMX 6Fire USB
  4. *
  5. * Author: Torsten Schenk <[email protected]>
  6. * Created: Jan 01, 2011
  7. * Copyright: (C) Torsten Schenk
  8. */
  9. #ifndef USB6FIRE_MIDI_H
  10. #define USB6FIRE_MIDI_H
  11. #include "common.h"
  12. struct midi_runtime {
  13. struct sfire_chip *chip;
  14. struct snd_rawmidi *instance;
  15. struct snd_rawmidi_substream *in;
  16. char in_active;
  17. spinlock_t in_lock;
  18. spinlock_t out_lock;
  19. struct snd_rawmidi_substream *out;
  20. struct urb out_urb;
  21. u8 out_serial; /* serial number of out packet */
  22. u8 *out_buffer;
  23. int buffer_offset;
  24. void (*in_received)(struct midi_runtime *rt, u8 *data, int length);
  25. };
  26. int usb6fire_midi_init(struct sfire_chip *chip);
  27. void usb6fire_midi_abort(struct sfire_chip *chip);
  28. void usb6fire_midi_destroy(struct sfire_chip *chip);
  29. #endif /* USB6FIRE_MIDI_H */