diff options
author | Markus Grabner | 2009-02-28 04:43:04 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2009-04-03 23:54:24 +0200 |
commit | 705ececd1c60d0f5d6ef2a719008847883516970 (patch) | |
tree | e2a96ac85e15850919e493181fe47f7fdd471af1 /drivers/staging/line6/midibuf.h | |
parent | Staging: add rt3070 wireless driver (diff) | |
download | kernel-qcow2-linux-705ececd1c60d0f5d6ef2a719008847883516970.tar.gz kernel-qcow2-linux-705ececd1c60d0f5d6ef2a719008847883516970.tar.xz kernel-qcow2-linux-705ececd1c60d0f5d6ef2a719008847883516970.zip |
Staging: add line6 usb driver
This is an experimental Linux driver for the guitar amp, cab, and
effects modeller PODxt Pro by Line6 (and similar devices), supporting
the following features:
- Reading/writing individual parameters
- Reading/writing complete channel, effects setup, and amp setup data
- Channel switching
- Virtual MIDI interface
- Tuner access
- Playback/capture/mixer device for any ALSA-compatible PCM audio
application
- Signal routing (record clean/processed guitar signal, re-amping)
Moreover, preliminary support for the Variax Workbench is included.
From: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/line6/midibuf.h')
-rw-r--r-- | drivers/staging/line6/midibuf.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/staging/line6/midibuf.h b/drivers/staging/line6/midibuf.h new file mode 100644 index 000000000000..0e7762c677c4 --- /dev/null +++ b/drivers/staging/line6/midibuf.h @@ -0,0 +1,39 @@ +/* + * Line6 Linux USB driver - 0.8.0 + * + * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2. + * + */ + +#ifndef MIDIBUF_H +#define MIDIBUF_H + + +struct MidiBuffer +{ + unsigned char *buf; + int size; + int split; + int pos_read, pos_write; + int full; + int command_prev; +}; + + +extern int midibuf_bytes_used(struct MidiBuffer *mb); +extern int midibuf_bytes_free(struct MidiBuffer *mb); +extern void midibuf_destroy(struct MidiBuffer *mb); +extern int midibuf_ignore(struct MidiBuffer *mb, int length); +extern int midibuf_init(struct MidiBuffer *mb, int size, int split); +extern int midibuf_read(struct MidiBuffer *mb, unsigned char *data, int length); +extern void midibuf_reset(struct MidiBuffer *mb); +extern int midibuf_skip_message(struct MidiBuffer *mb, unsigned short mask); +extern void midibuf_status(struct MidiBuffer *mb); +extern int midibuf_write(struct MidiBuffer *mb, unsigned char *data, int length); + + +#endif |