[alsa-devel] [PATCH] salsa-lib: Add seq_midi_event.h
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/configure.ac +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/Makefile.am +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \ - seq.h seq_event.h seqmid.h + seq.h seq_event.h seqmid.h seq_midi_event.h endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/seq_midi_event.h @@ -0,0 +1,78 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \defgroup MIDI_Event Sequencer event <-> MIDI byte stream coder + * \ingroup Sequencer + * Sequencer event <-> MIDI byte stream coder + * { + */ + +/** container for sequencer midi event parsers */ +typedef struct snd_midi_event { + size_t qlen; + size_t read; + int type; + unsigned char lastcmd; + unsigned char nostat; + size_t bufsize; + unsigned char *buf; +} snd_midi_event_t; + +__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{ + return 0; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{ + return 0; +} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev) +{ + return 0; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{ + return 0; +} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev) +{ + return 0; +} + + +#ifdef __cplusplus +} +#endif + +#endif /* __ALSA_SEQ_MIDI_EVENT_H */ +
At Sun, 17 Mar 2013 14:57:31 +0000, Mihail Zenkov wrote:
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/configure.ac +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/Makefile.am +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \
- seq.h seq_event.h seqmid.h
- seq.h seq_event.h seqmid.h seq_midi_event.h
endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/seq_midi_event.h @@ -0,0 +1,78 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H
+#ifdef __cplusplus +extern "C" { +#endif
+/**
- \defgroup MIDI_Event Sequencer event <-> MIDI byte stream coder
- \ingroup Sequencer
- Sequencer event <-> MIDI byte stream coder
- {
- */
+/** container for sequencer midi event parsers */ +typedef struct snd_midi_event {
- size_t qlen;
- size_t read;
- int type;
- unsigned char lastcmd;
- unsigned char nostat;
- size_t bufsize;
- unsigned char *buf;
+} snd_midi_event_t;
We don't have to define the actual struct here as all the functions are just dummy without referring to the real data.
I'd like to avoid exposing it unless it's really needed.
+__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{
- return 0;
This should return an error. We don't support the feature, so have to notify it.
Ditto for the rest functions.
thanks,
Takashi
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{
- return 0;
+} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev) +{
- return 0;
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{
- return 0;
+} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev) +{
- return 0;
+}
+#ifdef __cplusplus +} +#endif
+#endif /* __ALSA_SEQ_MIDI_EVENT_H */
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
I apologize for a delay with the answer. Do you have any plans about inclusion of the minimum support of alsa-seq? Support of alsa-seq would allow to use salsa together with jack/pulsaudio or other audio server as full replacement of alsa-lib.
--- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/configure.ac +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/src/Makefile.am +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \ - seq.h seq_event.h seqmid.h + seq.h seq_event.h seqmid.h seq_midi_event.h endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/seq_midi_event.h @@ -0,0 +1,52 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H + +typedef struct snd_midi_event snd_midi_event_t; + +__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{ + return -ENOMEM; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{ + return -ENOMEM; +} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev) +{ + return -EINVAL; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{ + return -EINVAL; +} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev) +{ + return -ENOENT; +} + +#endif /* __ALSA_SEQ_MIDI_EVENT_H */
At Mon, 25 Mar 2013 23:50:22 +0000, Mihail Zenkov wrote:
I apologize for a delay with the answer. Do you have any plans about inclusion of the minimum support of alsa-seq? Support of alsa-seq would allow to use salsa together with jack/pulsaudio or other audio server as full replacement of alsa-lib.
No, there is no plan for that.
The new patch doesn't seem to be applied cleanly. Also it lacks the patch description. Could you resend a proper patch?
thanks,
Takashi
--- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/configure.ac +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/src/Makefile.am +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \
- seq.h seq_event.h seqmid.h
- seq.h seq_event.h seqmid.h seq_midi_event.h
endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/seq_midi_event.h @@ -0,0 +1,52 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H
+typedef struct snd_midi_event snd_midi_event_t;
+__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{
- return -ENOMEM;
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{
- return -ENOMEM;
+} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_event_t *ev) +{
- return -EINVAL;
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{
- return -EINVAL;
+} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_event_t *ev) +{
- return -ENOENT;
+}
+#endif /* __ALSA_SEQ_MIDI_EVENT_H */
This patch add seq_midi_event.h. All replaced with dummy functions.
--- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/configure.ac +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/src/Makefile.am +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \ - seq.h seq_event.h seqmid.h + seq.h seq_event.h seqmid.h seq_midi_event.h endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/seq_midi_event.h @@ -0,0 +1,54 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H + +typedef struct snd_midi_event snd_midi_event_t; + +__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{ + return -ENOMEM; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{ + return -ENOMEM; +} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, + long count, snd_seq_event_t *ev) +{ + return -EINVAL; +} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{ + return -EINVAL; +} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, + long count, const snd_seq_event_t *ev) +{ + return -ENOENT; +} + +#endif /* __ALSA_SEQ_MIDI_EVENT_H */
At Tue, 2 Apr 2013 11:56:50 +0000, Mihail Zenkov wrote:
This patch add seq_midi_event.h. All replaced with dummy functions.
Your MUA breaks the lines so the patch isn't applicable. Please fix MUA setup or use an attachment as a last resort.
Takashi
--- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/configure.ac +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/configure.ac @@ -273,6 +273,7 @@ test "$sndseq" = "yes" && echo "#include "seq_event.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seq.h"" >> src/asoundlib.h test "$sndseq" = "yes" && echo "#include "seqmid.h"" >> src/asoundlib.h +test "$sndseq" = "yes" && echo "#include "seq_midi_event.h"" >> src/asoundlib.h cat "$srcdir"/src/asoundlib-tail.h >> src/asoundlib.h
echo "SALSA-Lib build configuration:" --- salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79/src/Makefile.am +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/Makefile.am @@ -60,7 +60,7 @@ endif if BUILD_SEQ alsainclude_HEADERS += \
- seq.h seq_event.h seqmid.h
- seq.h seq_event.h seqmid.h seq_midi_event.h
endif
noinst_HEADERS = local.h --- /dev/null +++ salsa-lib-9e6b52f148fb5a6352f441d0b5a41419c3a57c79-1/src/seq_midi_event.h @@ -0,0 +1,54 @@ +#ifndef __ALSA_SEQ_MIDI_EVENT_H +#define __ALSA_SEQ_MIDI_EVENT_H
+typedef struct snd_midi_event snd_midi_event_t;
+__SALSA_EXPORT_FUNC +int snd_midi_event_new(size_t bufsize, snd_midi_event_t **rdev) +{
- return -ENOMEM;
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) +{
- return -ENOMEM;
+} +__SALSA_EXPORT_FUNC +void snd_midi_event_free(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_init(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_encode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_reset_decode(snd_midi_event_t *dev) +{ +} +__SALSA_EXPORT_FUNC +void snd_midi_event_no_status(snd_midi_event_t *dev, int on) +{ +} +__SALSA_EXPORT_FUNC +long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf,
long count, snd_seq_event_t *ev)
+{
- return -EINVAL;
+} +__SALSA_EXPORT_FUNC +int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) +{
- return -EINVAL;
+} +__SALSA_EXPORT_FUNC +long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf,
long count, const snd_seq_event_t *ev)
+{
- return -ENOENT;
+}
+#endif /* __ALSA_SEQ_MIDI_EVENT_H */
2013/4/3, Takashi Iwai tiwai@suse.de:
At Tue, 2 Apr 2013 11:56:50 +0000, Mihail Zenkov wrote:
This patch add seq_midi_event.h. All replaced with dummy functions.
Your MUA breaks the lines so the patch isn't applicable. Please fix MUA setup or use an attachment as a last resort.
Sorry, add as attachment.
participants (2)
-
Mihail Zenkov
-
Takashi Iwai