Signed-off-by: Pieter Palmers <pieterp@joow.be>
This patch fixes bug where clients get wrong port types. I have noticed
it using Patchage but other jack midi patchbays are probably affected
too.
Steps to reproduce:
1. start jack-keyboard (2 midi ports)
2. stop jack-keyboard
3. start zynaddsubfx (2 audio and 1 midi ports)
now all 3 zynaddsubfx ports are reported as midi ones
because ports are reused (and kept in ports_ext list), they need
type_info updated when port gets reused. Other possible solution may be
to ignore type_info member of struct _jack_port and use shared member to
access type info data.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1065 0c269be4-1314-0410-8aa9-9f06e86f4224
Fixed a printf-related warning.
Renamed DEBUG to JACK_MIDI_DEBUG in all places.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1056 0c269be4-1314-0410-8aa9-9f06e86f4224
- Move inline asm SIMD functionality to a separate source file
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1050 0c269be4-1314-0410-8aa9-9f06e86f4224
* Frame offsets were calculated with jack_nframes_t which is uint32_t.
In case of xruns this led to HUGE offset values and output queue overflow.
Changed it to use int64_t.
* Added xrun detection and recovery.
* Renamed DEBUG macro to JACK_MIDI_DEBUG to resolve clash with jack/internal.h
* Removed odd '#include <stdio.h>'
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1048 0c269be4-1314-0410-8aa9-9f06e86f4224
implementation has severe issues regarding timing, since libfreebob doesn't provide/use the timestamps for the MIDI events. The ALSA SEQ backend
solves this by polling to see if there are events received, and they are handled ASAP. The jackmidi approach inherently postpones processing of midi
events to period boundaries.
!! This is a test implementation for future (libffado) use. Don't enable for end-user use. It is not useful. You have been warned. !!
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1043 0c269be4-1314-0410-8aa9-9f06e86f4224
It is used by both alsa and freebob drivers.
Patch written by Pieter Palmers.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1036 0c269be4-1314-0410-8aa9-9f06e86f4224
freebob_driver.c:
* fix the behavior of -P and -C to better reflect their ALSA backend counterpart's behavior.
* introduce -D (duplex) as an alias for "-P -C", for completeness.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1006 0c269be4-1314-0410-8aa9-9f06e86f4224
- Version bump to 0.102.30
freebob_driver.c:
- Fix compilation warning
- Made FreeBoB backend parameters more similar to the ALSA backend's parameters.
The -i and -o parameters are now accepted but ignored.
The -P and -C parameters are introduced to disable playback/capture.
The new parameter list:
Parameters for driver 'freebob' (all parameters are optional):
-d, --device The FireWire device to use. Format is: 'hw:port[,node]'. (default: hw:0)
-p, --period Frames per period (default: 1024)
-n, --nperiods Number of periods of playback latency (default: 3)
-r, --rate Sample rate (default: 48000)
-C, --capture Provide capture ports. (default: 1)
-P, --playback Provide playback ports. (default: 1)
-I, --input-latency Extra input latency (frames) (default: 0)
-O, --output-latency Extra output latency (frames) (default: 0)
-i, --inchannels Number of input channels to provide (note: currently ignored) (default: 0)
-o, --outchannels Number of output channels to provide (note: currently ignored) (default: 0)
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1005 0c269be4-1314-0410-8aa9-9f06e86f4224