&!p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                      !"#$%&'() * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno NonepqpqpqNonersrsrs provisionalHenning ThielemannNonetututuNone vw  vwNone !Convert number of nanoseconds to  (Convert fractional number of seconds to  !Convert number of nanoseconds to  (Convert fractional number of seconds to        provisionalHenning ThielemannNoneThe type of queue identifiers. xyz{xyzxyz{ provisionalHenning ThielemannNone Port types. Port capabilities. |application (sequencer/ editor) }'This port may connect to other devices E (whose characteristics are not known). ~2Messages sent to this port will generate sounds. 'This port is implemented in software. 'This port is implemented in hardware. 8Sampling device (sample can be downloaded at any time) +Sampling device (support sample download) Synth device "General MIDI 2 compatible device MT-32 compatible device XG compatible device GS compatible device  General MIDI compatible device generic MIDI device hardware specific =a type that cannot be represented by the other constructors routing not allowed allow write subscription allow read subscription  allow read/write duplex allow write subscriptions allow read subscriptions writable to this port readable from this port Ca capability that cannot be represented by the other constructors -The Enum instance may not be very efficient, &but it should hardly be used, at all. Better use constants such as  and set manipulation. ;If the binary logarithm is computed by constant unfolding, Jperformance would be better, but direct set manipulation is still faster. We implement the  instance in this way, Cin order to stay independent from the particular ALSA definitions, #that may differ between platforms. D|}~ !"#$%&'()*+,-./?|}~ !"#$%&'()*+,-./*~}|  !"#$%&'()*+,-./ provisionalHenning ThielemannNone0 The different types of clients. 3 The type of client identifiers. 01234567 01234567 02134567 provisionalHenning ThielemannNone-Copy the content of one object into another. -Copy the content of one object into another. 9Copy the content of an object to a newly created object. 9Copy the content of an object to a newly created object. -Copy the content of one object into another. -Copy the content of one object into another. 1Allocate an uninitialized object. (Not exported) -Copy the content of one object into another. -Copy the content of one object into another. 9Copy the content of an object to a newly created object. -Copy the content of one object into another. 9Copy the content of an object to a newly created object. 1Allocate an uninitialized object. (Not exported) -Copy the content of one object into another. 1Allocate an uninitialized object. (Not exported) 1Allocate an uninitialized object. (Not exported) 1Allocate an uninitialized object. (Not exported) 9Copy the content of an object to a newly created object. 9Copy the content of an object to a newly created object. 1Allocate an uninitialized object. (Not exported) 1Allocate an uninitialized object. (Not exported) 1Allocate an uninitialized object. (Not exported) 9Copy the content of an object to a newly created object. 9Copy the content of an object to a newly created object.       !"#$%&'()*+,-./012345 Destination Source 6789:;<=>?@ABCD Destination Source EFGHIJKLMNOPQRSTUVWXYZ[\]^_` Destination Source abcdefghijk Destination Source lmnopqrstuvwxy Destination Source z{|}~ Destination Source  Destination Source  Destination Source       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None<%The address of all subscribed ports. 89:;<89:;<89:;< provisionalHenning ThielemannNoneThese are all 14 bit values. =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;=CBA@?>DFEGMLKJIHN ZYXWVUTSRQPO[`_^]\a kjihgfedcbl xwvutsrqponmy}|{z~None    provisionalHenning ThielemannNoneThe type of sequencer handles. +Blocking behavior of the sequencer device. &Throw exceptions instead of blocking. Operations may block. Read/,Write permissions for the sequencer device. + This way we prevent the ALSA exception 22 Invalid argument  when calling  event_output on an input-only sequencer. NoneDCreates a new handle and opens a connection to the kernel sequencer 4 interface. After a client is created successfully,  a  ClientStart* event is broadcast to the announce port.  May throw an exception.  See also:  open_lconf, ,  get_seq_type,   get_seq_name,  set_blocking,  get_client_id. BClose the sequencer. Closes the sequencer client and releases its 4 resources. After a client is closed, an event with  ClientExit is F broadcast to announce port. The connection between other clients are ; disconnected. Call this just before exiting your program. 8 NOTE: we could put this in a finalizer for the handle? &Get identifier of a sequencer handle. 4 It is the same identifier specified in the call to . .Change the blocking mode of the given client. E In block mode, the client falls into sleep when it fills the output G pool with events, or when it demands events from an empty input pool. @ memory pool with full events. Clients that are sleeping due to < loack of space in the output pool are woken when a certain - amount of free space becomes available (see set_output_room). +Return the byte size of the output buffer. Resize of the output buffer. - This function clears all output events (see  drop_output). &Return the byte size of input buffer. Resize the input buffer. , This function clears all input events (see  drop_input). Resize the output memory pool. @Specify how much space should become free before waking clients = that are blocked due to a lack of space in the output pool. Reset the output pool. Resize the input memory pool. Reset the input pool. Simple subscription (w/ o exclusive & time conversion). Simple subscription (w/ o exclusive & time conversion). Simple disconnection. Simple disconnection. /Parse the given string into sequencer address. J The client and port are separated by either colon or period, e.g. 128:1. ) The function also accepts client names. & The sequencer's "name". This is not a name that you < make up for your own purposes; it has special significance / to the ALSA library. Usually you need to pass  default_name  here. handle to the sequencer  The sequencer's "name". This is not a name that you < make up for your own purposes; it has special significance / to the ALSA library. Usually you need to pass  default_name  here. sequencer handle ALSA identifier for the handel sequencer handle blocking mode Sequencer handle.  Size of output buffer in bytes. Sequencer handle. New buffer size in bytes. Sequencer handle. Size of input buffer in bytes. Sequencer handle. New byffer size in bytes. Sequencer handle. New size in bytes. Sequencer handle. !Number of bytes need to wake up. Sequencer handle. Sequencer handle. New size in bytes. Sequencer handle. Sequencer handle. String to be parsed. The parsed address. &&None/Parse the given string into sequencer address. IThe client and port are separated by either colon or period, e.g. 128:1. (The function also accepts client names. Sequencer handle. String to be parsed. The parsed address. 89:;<89:;<  provisionalHenning ThielemannNoneKCreate a new information area filled with data about the sequencer client. JCreate a new information area filled with data about an arbitrary client. CGet information about the client with the next biggest identifier. ?Set the information for the sequencer client based on the data  in the given information area. Was there a next client?  provisionalHenning ThielemannNone-Get the client identifier for the sequencer.  A convinience function. 'Set the name for the sequencer client.  A convinience function.  01234567 37456021 provisionalHenning ThielemannNone Create a port - simple version. Delete the port. 7Create a new port, as described by the info structure. Delete the port. $ !"#$%&'()*+,-./$ !"#$%&'()*+,-./  provisionalHenning ThielemannNone@Create a new information area filled with data about a specific  port on our client. >Create a new information area filled with data about an given  port on a given client. 4Get information about the first port on our client. AGet information about the port with the next biggest identifier. D If a matching port is found, then its information is stored in the * given area, otherwise we throw an error. =Set the information for the sequencer port based on the data  in the given information area. )Get the address of the information area. Set the port address. "     "     "     "      provisionalHenning ThielemannNoneDelete the specified queue. Queue.T controls - startstop continue Queue.T identifier. Sequencer handle. Queue.T identifier. Sequencer handle. Queue.T identifier.  provisionalIavor S. DiatchkiNone3Wait until all events of the client are processed. $Get an event from the input buffer. D If the input buffer is empty, then it is filled with data from the ? sequencer queue. If there is no data in the sequencer queue, H then the process is either put to sleep (if the sequencer is operating  in blocking mode), or we throw EAGAIN (if the sequence is operating  in non-blocking mode). We may also throw ENOSPC', which means that the sequencer queue D over-run and some events were lost (this clears the input buffer). 2Returns the number of events in the input buffer. @ If the input buffer is empty and the boolean argument is true, G then try to fill the input buffer with data from the sequencer queue.  See also: . 9Output an event and drain the buffer, if it became full.  Throws exceptions.  See also: , ,  , !, ",  ,  removeEvents -Output an event without draining the buffer.  Throws -EAGAIN if the buffer becomes full.  See also . JOutput an event directly to the sequencer, NOT through the output buffer. 1 If an error occurs, then we throw an exception.  See also . ?Return the size (in bytes) of pending events on output buffer.  See also . *Extract the first event in output buffer.  Throws an exception on error.  See also .  )Remove the first event in output buffer.  Throws an exception on error.  See also . !"Drain output buffer to sequencer. ? This function drains all pending events on the output buffer. J The function returns immediately after the events are sent to the queues 5 regardless whether the events are processed or not. 6 To get synchronization with the all event processes,  use  after calling this function.  Throws an exception on error.  See also: , . "6Remove events from both the user-space output buffer, ' and the kernel-space sequencer queue.  See also: !, #,  removeEvents. #1Remove events from the user-space output buffer.  See also: ". $5Remove events from both the user-space input buffer, ' and the kernel-space sequencer queue.  See also: %,  removeEvents. %0Remove events from the user-space input buffer.  See also: $. &0Make a note whose unspecified fields contain 0. '=Construct an ALSA sequencer event from very few information. 4Most fields are initialized with sensible defaults. IYou may use this as a start and alter its fields for your special needs. J (Event.simple myAddr (Event.simpleNote 0 60 64)) {Event.dest = destAddr} (9Used for volume control: means do not change the volume. refill if empty? number of events in buffer +the number of remaining events (or bytes?) "the byte size of remaining events &number of bytes sent to the sequencer "size of pending events (in bytes) 3the first event in the buffer (if one was present)  !-byte size of events remaining in the buffer. "#$%& Channel. Note.  Velocity. '(=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'( !"#$%(~'=CBA@?>y}|{z&lxwvutsrqponmNZYXWVUTSRQPOakjihgfedcbGMLKJIHDFE[`_^]\ !"#$%&'( None)*+,-./0)*+,-./0)*+,-./0)*+,-./0  provisionalHenning ThielemannNone123456789:;<=>123456789:;<=>123456789:;<=>123456789:;<=> provisionalHenning ThielemannNone?@ABCDEF?@ABCDEF?@ABCDEF?@ABCDEF provisionalHenning ThielemannNoneGHIJKLMNOPQRSTGHIJKLMNOPQRSTGHIJKLMNOPQRSTGHIJKLMNOPQRST provisionalHenning ThielemannNone UVWXYZ[\]^UVWXYZ[\]^UVWXYZ[\]^ UVWXYZ[\]^ provisionalNone_Subscribe a port connection: subscribeSimple5 sender dest exclusive (Just (updatequeue, realtime)) `Unsubscribe a port connection: unsubscribeSimple sender dest _`_`_`_` provisionalNonekGet the client/port address of a query l'Get the address of subscriber of query mJQueries a subscriber connected to (Write) or from (Read) a given address: m seq addr typ index n1Queries the list of subscribers accessing a port abcdefghijklmnabcdefghijklmnabckdeflghijmnabcdefghijklmn  provisionalHenning ThielemannNoneo*This is the name that should be passed to  in most cases. o o oo !"#$%&'()*+$,-$./0123456789:;<=>?@ABCDEFGHIJK$LMN0$%OPMQRSTUVWTXYUZ[\]^_R`abcdefghijkSlmnopqrstuvwxyz{V|}~W$%$ $  $           $       !$"#$$%&'()*+,$-./01$23456789 :;<=>=>?@%AB@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a%BAbcdef@%BA>@ghijklmnopqrstuvwxyz{|}~vvg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUB?@VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz?{|}~$%alsa-seq-0.5.1.1$Sound.ALSA.Sequencer.Subscribe.Query Sound.ALSA.Sequencer.Queue.TimerSound.ALSA.Sequencer.RealTimeSound.ALSA.Sequencer.QueueSound.ALSA.Sequencer.PortSound.ALSA.Sequencer.ClientSound.ALSA.Sequencer.AddressSound.ALSA.Sequencer.EventSound.ALSA.Sequencer Sound.ALSA.Sequencer.Client.InfoSound.ALSA.Sequencer.Port.Info#Sound.ALSA.Sequencer.Event.AccessorSound.ALSA.Sequencer.Queue.Info!Sound.ALSA.Sequencer.Queue.Status Sound.ALSA.Sequencer.Queue.TempoSound.ALSA.Sequencer.SubscribeSound.ALSA.Sequencer.Utility+Sound.ALSA.Sequencer.Marshal.QuerySubscribe'Sound.ALSA.Sequencer.Marshal.QueueTimer%Sound.ALSA.Sequencer.Marshal.RealTime"Sound.ALSA.Sequencer.Marshal.Queue!Sound.ALSA.Sequencer.Marshal.Port#Sound.ALSA.Sequencer.Marshal.ClientSound.ALSA.Sequencer.Area$Sound.ALSA.Sequencer.Marshal.Address"Sound.ALSA.Sequencer.Marshal.Event,Sound.ALSA.Sequencer.Client.Info.EventFilter&Sound.ALSA.Sequencer.Marshal.SequencerSound.ALSA.Sequencer.SequencerTypeWriteReadMidiTick MidiClockAlsaTConssecsnano fromInteger fromDouble toIntegertoDoubledirectCap systemTimersystemAnnounceunknowncapReadcapWrite capSyncRead capSyncWrite capDuplex capSubsRead capSubsWrite capNoExportcaps typeSpecifictypeMidiGeneric typeMidiGM typeMidiGS typeMidiXG typeMidiMT32 typeMidiGM2 typeSynthtypeDirectSample typeSample typeHardware typeSoftwaretypeSynthesizertypePorttypeApplicationtypesKernelUsersystem subscribers broadcastclientportDataCustomEvEmptyEvConnEvAddrEvCtrlEvNoteEvPortUnsubscribedPortSubscribed PortChangePortExit PortStart ClientChange ClientExit ClientStartUser9User8User7User6User5User4User3User2User1User0OSSEchoUnknownNoneSensingReset TuneRequestQueueEv QueueSyncPos QueueSkew QueueTick QueueClock QueueTempoQueueSetPosTimeQueueSetPosTick QueueStop QueueContinue QueueStartKeySignTimeSignQFrameSongSelSongPosRegParam NonRegParam Control14 PitchBend ChanPress PgmChange ControllerKeyPressNoteOffNoteOnANote highPrioritytagqueue timestampsourcedestbodyCustomcustom0custom1custom2Volume volumeVolumevolumeLRvolumeFRvolumeDUClusterclusterClusterSample sampleStd sampleBank samplePrgCtrl ctrlChannel ctrlParam ctrlValueNote noteChannelnoteNote noteVelocitynoteOffVelocity noteDurationInstr instrClusterinstrStd instrBankinstrPrg InstrCluster TimeStampRealTimeTickTimeConnect BlockModeNonblockBlock DuplexMode InputMode OutputMode AllowOutput AllowInputOpenModeopenclosewithgetName setBlockinggetOutputBufferSizesetOutputBufferSizegetInputBufferSizesetInputBufferSize setPoolOutputsetPoolOutputRoomresetPoolOutput setPoolInputresetPoolInput connectFrom connectTodisconnectFrom disconnectToparsegetgetAny queryFirst queryNextsetmodify filterClear filterAdd filterDel filterCheckcopyclone getClientgetTypegetBroadcastFiltergetErrorBounce getNumPorts getEventLost setClientsetNamesetBroadcastFiltersetErrorBouncegetId createSimple deleteSimple withSimplecreatedeletegetAddrsetAddrgetPort getCapabilitygetMidiChannels getMidiVoicesgetSynthVoicesgetPortSpecifiedgetTimestampinggetTimestampRealgetTimestampQueue getReadUse getWriteUsesetPort setCapabilitysetMidiChannelssetSynthVoices setMidiVoicessetPortSpecifiedsetTimestampingsetTimestampRealsetTimestampQueuealloc allocNamed withNamedfreecontrolsyncOutputQueueinput inputPendingoutput outputBuffer outputDirect outputPending extractOutput removeOutput drainOutput dropOutputdropOutputBuffer dropInputdropInputBuffer simpleNotesimple volumeSameconnectgetQueue getLockedgetOwnergetFlags setLockedsetOwnersetFlags getEvents getTickTime getRealTimegetTempogetPPQgetSkew getSkewBasesetTemposetPPQsetSkew setSkewBase getResolutionsetType setResolution subscribe unsubscribegetIndex getNumSubs getExclusive getTimeUpdate getTimeRealgetRootqueryqueryAll defaultName showsField showsRecordexpTypeimpType $fStorableT$fShowTimpexpTypeApplicationTypePortTypeSynthesizer TypeSoftware TypeHardware TypeSampleTypeDirectSample TypeSynth TypeMIDIGM2 TypeMIDIMT32 TypeMIDIXG TypeMIDIGS TypeMIDIGMTypeMIDIGeneric TypeSpecific TypeOther CapNoExport CapSubsWrite CapSubsRead CapDuplex CapSyncWrite CapSyncReadCapWriteCapReadCapOther$fEnumCapabilityFlagbaseGHC.EnumEnumTypeFlagCapabilityFlag capFlagSet typeFlagSet $fIxTypeFlag$fEnumTypeFlag$fIxCapabilityFlag QueueStatus"snd_seq_queue_timer_get_resolutionsnd_seq_queue_timer_get_queuesnd_seq_queue_timer_mallocsnd_seq_queue_tempo_get_skewsnd_seq_queue_tempo_get_ppqsnd_seq_queue_status_copy"snd_seq_query_subscribe_get_clientsnd_seq_port_subscribe_copy!snd_seq_port_info_set_midi_voicessnd_seq_port_info_get_client$snd_seq_port_info_get_timestamp_realsnd_seq_port_info_get_name!snd_seq_client_info_get_num_portssnd_seq_client_info_get_nameport_subscribe_get_exclusivequery_subscribe_get_portquery_subscribe_get_num_subswith_queue_infoqueue_info_set_ownerwith_queue_tempoqueue_tempo_mallocqueue_tempo_get_ppqqueue_timer_clone QueueTimer QueueTimer_ QueueTempo_ QueueStatus_ QueueInfo QueueInfo_QuerySubscribeQuerySubscribe_ PortSubscribePortSubscribe_PortInfo PortInfo_ ClientInfo ClientInfo_Cmalloc"snd_seq_queue_timer_set_resolutionsnd_seq_queue_timer_set_typesnd_seq_queue_timer_get_typesnd_seq_queue_timer_copysnd_seq_queue_timer_free!snd_seq_queue_tempo_set_skew_base!snd_seq_queue_tempo_get_skew_basesnd_seq_queue_tempo_set_skewsnd_seq_queue_tempo_set_ppqsnd_seq_queue_tempo_set_temposnd_seq_queue_tempo_get_temposnd_seq_queue_tempo_get_queuesnd_seq_queue_tempo_copysnd_seq_queue_tempo_freesnd_seq_queue_tempo_mallocsnd_seq_queue_status_freesnd_seq_queue_status_mallocsnd_seq_queue_info_get_queuesnd_seq_queue_info_set_flagssnd_seq_queue_info_get_flagssnd_seq_queue_info_set_ownersnd_seq_queue_info_get_ownersnd_seq_queue_info_set_lockedsnd_seq_queue_info_get_lockedsnd_seq_queue_info_set_namesnd_seq_queue_info_get_namesnd_seq_queue_info_copysnd_seq_queue_info_freesnd_seq_queue_info_malloc%snd_seq_query_subscribe_get_time_real'snd_seq_query_subscribe_get_time_update%snd_seq_query_subscribe_get_exclusive!snd_seq_query_subscribe_get_queue$snd_seq_query_subscribe_get_num_subs!snd_seq_query_subscribe_set_index!snd_seq_query_subscribe_get_index snd_seq_query_subscribe_set_type snd_seq_query_subscribe_get_type snd_seq_query_subscribe_set_port snd_seq_query_subscribe_get_port"snd_seq_query_subscribe_set_clientsnd_seq_query_subscribe_copysnd_seq_query_subscribe_freesnd_seq_query_subscribe_malloc$snd_seq_port_subscribe_set_time_real$snd_seq_port_subscribe_get_time_real&snd_seq_port_subscribe_set_time_update&snd_seq_port_subscribe_get_time_update$snd_seq_port_subscribe_set_exclusive$snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_get_queuesnd_seq_port_subscribe_freesnd_seq_port_subscribe_mallocsnd_seq_port_info_get_write_usesnd_seq_port_info_get_read_use%snd_seq_port_info_set_timestamp_queue%snd_seq_port_info_get_timestamp_queue"snd_seq_port_info_set_synth_voices"snd_seq_port_info_get_synth_voices!snd_seq_port_info_get_midi_voices#snd_seq_port_info_set_midi_channels#snd_seq_port_info_get_midi_channels snd_seq_port_info_set_capability snd_seq_port_info_get_capabilitysnd_seq_port_info_set_clientsnd_seq_port_info_set_portsnd_seq_port_info_get_port$snd_seq_port_info_set_timestamp_real"snd_seq_port_info_set_timestamping"snd_seq_port_info_get_timestamping$snd_seq_port_info_set_port_specified$snd_seq_port_info_get_port_specifiedsnd_seq_port_info_set_namesnd_seq_port_info_copysnd_seq_port_info_freesnd_seq_port_info_malloc"snd_seq_client_info_get_event_lostsnd_seq_client_info_get_typesnd_seq_client_info_set_clientsnd_seq_client_info_get_client$snd_seq_client_info_set_error_bounce$snd_seq_client_info_get_error_bounce(snd_seq_client_info_set_broadcast_filter(snd_seq_client_info_get_broadcast_filtersnd_seq_client_info_set_namesnd_seq_client_info_copysnd_seq_client_info_freesnd_seq_client_info_mallocwith_client_infoclient_info_mallocclient_info_copyclient_info_cloneclient_info_get_nameclient_info_set_name client_info_get_broadcast_filter client_info_set_broadcast_filterclient_info_get_error_bounceclient_info_set_error_bounceclient_info_get_clientclient_info_set_clientclient_info_get_typeclient_info_get_num_portsclient_info_get_event_lostwith_port_infoport_info_mallocport_info_copyport_info_cloneport_info_get_nameport_info_set_nameport_info_get_port_specifiedport_info_set_port_specifiedport_info_get_timestampingport_info_set_timestampingport_info_get_timestamp_realport_info_set_timestamp_realport_info_get_portport_info_set_portport_info_get_clientport_info_set_clientport_info_get_capabilityport_info_set_capabilityport_info_get_midi_channelsport_info_set_midi_channelsport_info_get_midi_voicesport_info_set_midi_voicesport_info_get_synth_voicesport_info_set_synth_voicesport_info_get_timestamp_queueport_info_set_timestamp_queueport_info_get_read_useport_info_get_write_usewith_port_subscribeport_subscribe_mallocport_subscribe_copyport_subscribe_cloneport_subscribe_get_queueport_subscribe_set_queueport_subscribe_set_exclusiveport_subscribe_get_time_updateport_subscribe_set_time_updateport_subscribe_get_time_realport_subscribe_set_time_realwith_query_subscribequery_subscribe_mallocquery_subscribe_copyquery_subscribe_clonequery_subscribe_get_clientquery_subscribe_set_clientquery_subscribe_set_portquery_subscribe_get_typequery_subscribe_set_typequery_subscribe_get_indexquery_subscribe_set_indexquery_subscribe_get_queuequery_subscribe_get_exclusivequery_subscribe_get_time_updatequery_subscribe_get_time_realqueue_info_mallocqueue_info_copyqueue_info_clonequeue_info_get_namequeue_info_set_namequeue_info_get_lockedqueue_info_set_lockedqueue_info_get_ownerqueue_info_get_flagsqueue_info_set_flagsqueue_info_get_queuewith_queue_statusqueue_status_mallocqueue_status_copyqueue_status_clonequeue_tempo_copyqueue_tempo_clonequeue_tempo_get_queuequeue_tempo_get_tempoqueue_tempo_set_tempoqueue_tempo_set_ppqqueue_tempo_get_skewqueue_tempo_set_skewqueue_tempo_get_skew_basequeue_tempo_set_skew_basewith_queue_timerqueue_timer_mallocqueue_timer_copyqueue_timer_get_queuequeue_timer_get_typequeue_timer_set_typequeue_timer_get_resolutionqueue_timer_set_resolution $fCQueueTimer $fCQueueTempo$fCQueueStatus $fCQueueInfo$fCQuerySubscribe$fCPortSubscribe $fCPortInfo $fCClientInfoexpEv connSourceconnDest FlagValueFlagsFlag timeStampTick timeStampReal timeModeAbs timeModeReleventLengthFixedeventLengthVariableeventLengthVarUser priorityHighpriorityNormal peekTimestamp pokeTimestampallocaEv allocaMaybeEvpokeBodypokeDatapeekData maxEventTypepeekBody peekNoteEv peekCtrlEv peekAddrEv peekConnEv peekEmptyEv peekCustomEv $fTypeConnEv $fTypeAddrEv$fTypeCustomEv $fTypeEmptyEv $fTypeQueueEv $fTypeCtrlEv $fTypeNoteEv$fStorableCustom$fStorableCtrl$fStorableNote$fStorableConnectT_&snd_seq_client_info_event_filter_check$snd_seq_client_info_event_filter_del$snd_seq_client_info_event_filter_add&snd_seq_client_info_event_filter_clearclearaddcheckCore expOpenMode expBlockMode$fAllowInputDuplexMode$fAllowInputInputMode$fAllowOutputDuplexMode$fAllowOutputOutputMode$fOpenModeDuplexMode$fOpenModeInputMode$fOpenModeOutputMode parseAddresssnd_seq_parse_addresssnd_seq_disconnect_tosnd_seq_disconnect_fromsnd_seq_connect_tosnd_seq_connect_fromsnd_seq_reset_pool_inputsnd_seq_set_client_pool_inputsnd_seq_reset_pool_output#snd_seq_set_client_pool_output_roomsnd_seq_set_client_pool_outputsnd_seq_set_input_buffer_sizesnd_seq_get_input_buffer_sizesnd_seq_set_output_buffer_sizesnd_seq_get_output_buffer_sizesnd_seq_nonblock snd_seq_name snd_seq_close snd_seq_open withOpenMode