OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [sound/] [seq_midi_event.h] - Blame information for rev 65

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
#ifndef __SOUND_SEQ_MIDI_EVENT_H
2
#define __SOUND_SEQ_MIDI_EVENT_H
3
 
4
/*
5
 *  MIDI byte <-> sequencer event coder
6
 *
7
 *  Copyright (C) 1998,99 Takashi Iwai <tiwai@suse.de>,
8
 *                        Jaroslav Kysela <perex@perex.cz>
9
 *
10
 *   This program is free software; you can redistribute it and/or modify
11
 *   it under the terms of the GNU General Public License as published by
12
 *   the Free Software Foundation; either version 2 of the License, or
13
 *   (at your option) any later version.
14
 *
15
 *   This program is distributed in the hope that it will be useful,
16
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 *   GNU General Public License for more details.
19
 *
20
 *   You should have received a copy of the GNU General Public License
21
 *   along with this program; if not, write to the Free Software
22
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
23
 */
24
 
25
#include "asequencer.h"
26
 
27
#define MAX_MIDI_EVENT_BUF      256
28
 
29
/* midi status */
30
struct snd_midi_event {
31
        int qlen;               /* queue length */
32
        int read;               /* chars read */
33
        int type;               /* current event type */
34
        unsigned char lastcmd;  /* last command (for MIDI state handling) */
35
        unsigned char nostat;   /* no state flag */
36
        int bufsize;            /* allocated buffer size */
37
        unsigned char *buf;     /* input buffer */
38
        spinlock_t lock;
39
};
40
 
41
int snd_midi_event_new(int bufsize, struct snd_midi_event **rdev);
42
void snd_midi_event_free(struct snd_midi_event *dev);
43
void snd_midi_event_reset_encode(struct snd_midi_event *dev);
44
void snd_midi_event_reset_decode(struct snd_midi_event *dev);
45
void snd_midi_event_no_status(struct snd_midi_event *dev, int on);
46
/* encode from byte stream - return number of written bytes if success */
47
long snd_midi_event_encode(struct snd_midi_event *dev, unsigned char *buf, long count,
48
                           struct snd_seq_event *ev);
49
int snd_midi_event_encode_byte(struct snd_midi_event *dev, int c, struct snd_seq_event *ev);
50
/* decode from event to bytes - return number of written bytes if success */
51
long snd_midi_event_decode(struct snd_midi_event *dev, unsigned char *buf, long count,
52
                           struct snd_seq_event *ev);
53
 
54
#endif /* __SOUND_SEQ_MIDI_EVENT_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.