seq_midi_event.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * \file include/seq_midi_event.h
  3. * \brief Application interface library for the ALSA driver
  4. * \author Jaroslav Kysela <perex@perex.cz>
  5. * \author Abramo Bagnara <abramo@alsa-project.org>
  6. * \author Takashi Iwai <tiwai@suse.de>
  7. * \date 1998-2001
  8. *
  9. * Application interface library for the ALSA driver
  10. */
  11. /*
  12. * This library is free software; you can redistribute it and/or modify
  13. * it under the terms of the GNU Lesser General Public License as
  14. * published by the Free Software Foundation; either version 2.1 of
  15. * the License, or (at your option) any later version.
  16. *
  17. * This program is distributed in the hope that it will be useful,
  18. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. * GNU Lesser General Public License for more details.
  21. *
  22. * You should have received a copy of the GNU Lesser General Public
  23. * License along with this library; if not, write to the Free Software
  24. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  25. *
  26. */
  27. #ifndef __ALSA_SEQ_MIDI_EVENT_H
  28. #define __ALSA_SEQ_MIDI_EVENT_H
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. /**
  33. * \defgroup MIDI_Event Sequencer event <-> MIDI byte stream coder
  34. * \ingroup Sequencer
  35. * Sequencer event <-> MIDI byte stream coder
  36. * \{
  37. */
  38. /** container for sequencer midi event parsers */
  39. typedef struct snd_midi_event snd_midi_event_t;
  40. int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev);
  41. int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize);
  42. void snd_midi_event_free(snd_midi_event_t *dev);
  43. void snd_midi_event_init(snd_midi_event_t *dev);
  44. void snd_midi_event_reset_encode(snd_midi_event_t *dev);
  45. void snd_midi_event_reset_decode(snd_midi_event_t *dev);
  46. void snd_midi_event_no_status(snd_midi_event_t *dev, int on);
  47. /* encode from byte stream - return number of written bytes if success */
  48. long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev);
  49. int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev);
  50. /* decode from event to bytes - return number of written bytes if success */
  51. long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev);
  52. /** \} */
  53. #ifdef __cplusplus
  54. }
  55. #endif
  56. #endif /* __ALSA_SEQ_MIDI_EVENT_H */