Re: [yoshimi-user] Oooo what have we here?

  • From: cal <cal@xxxxxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Sun, 14 Feb 2010 07:32:02 +1100

willgodfrey@xxxxxxxxxxxxxxx wrote:

Well I only recently noticed this list existed, so Hi everyone :)

I was delighted to see 0.055 was up (been using 0.054-3) so immediately
downloaded it. Unfortunately, when I try to compile it I get the
following :(

[ 75%] Building CXX object
CMakeFiles/yoshimi.dir/MusicIO/AlsaEngine.cpp.o
/home/will/Software/yoshimi-0.055/src/MusicIO/AlsaEngine.cpp: In member
function ‘bool AlsaEngine::openMidi(WavRecord*)’:
/home/will/Software/yoshimi-0.055/src/MusicIO/AlsaEngine.cpp:83: error:
‘snd_seq_client_info_event_filter_add’ was not declared in this scope
make[2]: *** [CMakeFiles/yoshimi.dir/MusicIO/AlsaEngine.cpp.o] Error 1
make[1]: *** [CMakeFiles/yoshimi.dir/all] Error 2
make: *** [all] Error 2

I'm using 64studio 3-beta and configured Yoshi's cmake for 64bit, and
alsa MIDI, if that makes any difference.

Hi Will, trust you to break it :-), but welcome!

The 'snd_seq_client_info_event_filter_' thing was something I noticed in
someone else's midi code, and thought it sounded like a good idea. It just
filters which midi events are to be passed to the synth. One thing I didn't
check was at what alsa version those functions were introduced.

So, what alsa version do you get with 64studio 3-beta? If it's not too
ancient, I guess I'll have to make their use version conditional.
cheers, Cal

ps, this is ugly, but if you're real keen to try 0.055, patching it
something like this _should_ work -

--- a/src/MusicIO/AlsaEngine.cpp
+++ b/src/MusicIO/AlsaEngine.cpp
@@ -80,17 +80,17 @@ bool AlsaEngine::openMidi(WavRecord *recorder)
snd_seq_client_info_alloca(&seq_info);
snd_seq_get_client_info(midi.handle, seq_info);
midi.alsaId = snd_seq_client_info_get_client(seq_info);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_NOTEON);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_NOTEOFF);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_CONTROLLER);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_PGMCHANGE);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_PITCHBEND);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_CONTROL14);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_NONREGPARAM);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_REGPARAM);
- snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_RESET);
- snd_seq_client_info_event_filter_add(seq_info,
SND_SEQ_EVENT_PORT_SUBSCRIBED);
- snd_seq_client_info_event_filter_add(seq_info,
SND_SEQ_EVENT_PORT_UNSUBSCRIBED);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_NOTEON);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_NOTEOFF);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_CONTROLLER);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_PGMCHANGE);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_PITCHBEND);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_CONTROL14);
+// snd_seq_client_info_event_filter_add(seq_info,
SND_SEQ_EVENT_NONREGPARAM);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_REGPARAM);
+// snd_seq_client_info_event_filter_add(seq_info, SND_SEQ_EVENT_RESET);
+// snd_seq_client_info_event_filter_add(seq_info,
SND_SEQ_EVENT_PORT_SUBSCRIBED);
+// snd_seq_client_info_event_filter_add(seq_info,
SND_SEQ_EVENT_PORT_UNSUBSCRIBED);
if (0 > snd_seq_set_client_info(midi.handle, seq_info))
Runtime.Log("Failed to set midi event filtering");
P.S.
If anyone noticed I'd been quiet on 'other' lists lately, it's because I
was on a much needed holiday.

Yes, your absence was duly noted.



Other related posts: