Issues:
- With a running JACK with enabled alsa_midi driver (-X alsa_midi), plugging in
a new MIDI device has no effect, e.g. no corresponding JACK ports are spawned
- With a running JACK with enabled alsa_midi driver (-X alsa_midi), deplugging
a MIDI device has no effect, e.g. the corresponding JACK ports stay around
Result:
- JACK only creates JACK ports of ALSA MIDI clients/ports found at startup
- JACK has to be restarted for any ALSA MIDI device (de)enumeration to take
place
Problem:
- There are some functions defined which actually should accomplish this in the
alsa_midi driver code (e.g. 'a2j_update_ports' and 'a2j_free_ports'), but they
are not called from any other function ;-)
Solution:
- Discriminate properly between ALSA PORT_START and PORT_CHANGE events
- 'a2j_new_ports' function has been added which recycles some code from
'alsa_input_thread'
- Actually call the already existing hot(de)plugging infrastructure
- 'a2j_update_ports' and 'a2j_new_ports' get called from the
'alsa_input_thread'
- 'a2j_free_ports' gets called from 'alsa_output_thread'
- 'alsa_out_thread' is woken up by 'a2j_jack_process_internal'
- Cleanup code that is not used:
- 'port_add' ringbuffer has no function, as 'new_ports' ringbuffer seems to be
implemented to accomplish the same
Signed-off-by: Hanspeter Portner <dev@open-music-kontrollers.ch>
regcomp() was failing to parse them. This changeset improves the algorithm
by using less assumptions.
This commit is a backport of similar (but bigger) commit in jack2.
b3394f4dce
ffado_streaming_set_period_size() is exposed starting r2078 of FFADO.
To avoid a build dependency on ffado-svn in jack, we copy the prototype
declaration.
Since the symbol is defined as weak, no problems arise at runtime.
for python loading libjackserver and using controlAPI.
drivers are linked to a second instance of libjackserver.so and the
global symbol _jack_get_microseconds showed up uninitialised.
by providing a function pointer to right instance in the engine struct,
we can fix this problem. since _jack_get_microseconds is a in systemdeps,
we need a generic way to get the right function pointer.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4421 0c269be4-1314-0410-8aa9-9f06e86f4224
this is a quick fix for the problem reported by Felix Pfeifer.
whitespace cleanup and more thorough fixes of this code follow.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4193 0c269be4-1314-0410-8aa9-9f06e86f4224