Events sent by external clients subscribed to the input port are not
timestamped.
This inconsistent behavior may surprise newbies who look at seq-decoder as
a reference example.
See the example below using "vkeybd --addr 128:0" to connect to seq-decoder,
the events sent by vkeybd are on a different queue with no timestamps:
...
EVENT>>> Type = 66, flags = 0x0, time = 0 ticks
Source = 0.1, dest = 128.0, queue = 253
Event = Port Subscribed; 129:0 -> 128:0
EVENT>>> Type = 66, flags = 0x1, time = 4.829712627
Source = 0.1, dest = 128.0, queue = 0
Event = Port Subscribed; 129:0 -> 128:0
EVENT>>> Type = 10, flags = 0x0, time = 0 ticks
Source = 129.0, dest = 128.0, queue = 253
Event = Controller; ch=0, param=0, value=0
EVENT>>> Type = 11, flags = 0x0, time = 0 ticks
Source = 129.0, dest = 128.0, queue = 253
Event = Program Change; ch=0, program=0
...
After the change events are on the main queue and are timestamped:
...
EVENT>>> Type = 66, flags = 0x1, time = 4.280907223
Source = 0.1, dest = 128.0, queue = 0
Event = Port Subscribed; 129:0 -> 128:0
EVENT>>> Type = 66, flags = 0x1, time = 4.280912063
Source = 0.1, dest = 128.0, queue = 0
Event = Port Subscribed; 129:0 -> 128:0
EVENT>>> Type = 10, flags = 0x1, time = 4.280990702
Source = 129.0, dest = 128.0, queue = 0
Event = Controller; ch=0, param=0, value=0
EVENT>>> Type = 11, flags = 0x1, time = 4.280994862
Source = 129.0, dest = 128.0, queue = 0
Event = Program Change; ch=0, program=0
...
Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The sequencer API is totally recoded with the style of "encapsulation"
in other api.
The structure becomes opaque and accessed only via functions.
Other changes:
- There is no longer group in client and port info.
- snd_seq_query_subs_t is renamed to snd_seq_query_subscribe_t.
- snd_seq_delete_port takes only the port id argument instead of
port_info structure.
- snd_seq_input/output_buffer_size are renamed
as snd_seq_get_input/output_buffer_size.
Similarly snd_seq_resize_input/output_buffer are renamed as
snd_seq_set_input/output_buffer_size.
- snd_seq_get_named_queue is renamed to snd_seq_query_named_queue.
- Sync codes are removed temporarily from API.
- Subscription conditions are accessed via the corresponding functions.
convert_time is named now as time_update.
- snd_seq_get/set_queue_owner are removed.
Use snd_seq_get/set_queue_info instead.
- Instrument put/get/remove structure is unified as snd_instr_header_t.
Mon, 03 Jan 2000 10:47:02 +0100
- bugfix: proper handling of exclusive subscription
- bugfix and update: alsa-lib/test/seq* stuff
- minor updates (long option support, etc) of aconnect and aseqnet
- man pages for aconnect and aseqnet are added