^Ps      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr Safe-Infereds8Free an array of NULL terminated port names returned by  get_ports and port_get_all_connections. sss Safe-InferedOType argument for Jack ports where the type of samples transported by the port  is unknown. represents absolute frame time $Type argument for Jack output ports #Type argument for Jack input ports _tuvwxyz{|}~\tuvwxyz{|}~Ctuvwxyz{|~} None !Represents a raw JACK MIDI event ?Sample index at which event is valid (relative to cycle start) Raw MIDI data eConverts high level MIDI Event transformation functions into raw MIDI Event transformation functions  !transforms Sound.MIDI.File.Event $transforms Sound.JACK.MIDI.RawEvent      Safe-Infered2  !"#$%&  !"#$%&#$&%!"   #   !"#$%&None(Jack Port Type )Handles of Jack clients '() '() '()None*&A collection of mixed types of ports. 5It is mainly needed for freeing all allocated ports. +Type argument for Jack ports where we do not know *whether it is an input or an output port. -Create a port connect callback . .$Create a port registration callback . /&Create a client registration callback . 1Constructs a new Jack client. 2#Creates a new JACK client with the default server 43Run a block of code with a newly allocated client. )Do not use the client outside the block. 6 Better use 8% that also handles freeing the port. 8CCreates a new port for the given client and delete it after usage. AThe port manages audio or MIDI data in input or output direction depending on the Port type. FUsually the required port type can be inferred from following actions that use that port. 0Do not use the port outside the enclosed block. 9 activates the given Jack client <Ecloses the given Jack client without causing any trouble (hopefully) =)Returns the names of all existing ports. I&Set the client registration callback. K$Set the port registration callback. MSet the port connect callback. Q)Return the full port name, including the  client_name: prefix. R.Return the short port name, not including the  client_name: prefix. S8Return all the port names a given port is connected to. =This function must not be called from a JACK event callback. ?*+,-./01name of the JACK server name of the client 2name of the client 34name of the JACK server name of the client 5name of the client 6 Jack client name of the input port 78 Jack client name of the input port 9:;<=the Jack client the names as a list of strings >?@ABCDEFGHIJKLMNOPQRSTUVWX   ;'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX;)12345<9:;(,+'678*?@>0EFGH/IJ.KL-MNOPQR=STUVWXABCD<*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX   None YZ[ Jack client name of the input port \]^_  `a YZ[\]^_`a ZY[_a\]^` YZ[\]^_  `aNone d(Smart constructor for a raw MIDI event. gTCreates an input and an output, and transforms all raw input events into raw output # events using the given function hLCreates an input and an output, and transforms all input events into output # events using the given function i)sets the process loop of the JACK Client j8reads all available MIDI Events on the given PortBuffer mdwrites a MIDI event to the PortBuffer of a MIDI output or throws eNOBUFS if JackMIDI.buffer is full o?Clears an output buffer and writes a sequence of events to it. =That is, you must only call this function once per callback. p'Reads midi events from an input buffer 2and converts them to a high-level representation. 6Messages are simply ignored if they cannot be parsed. r?Clears an output buffer and writes a sequence of events to it. =That is, you must only call this function once per callback. bc Jack client name of the input port d?Sample index at which event is valid (relative to cycle start) Raw MIDI data efg&transforms raw input to output events h"transforms input to output events i0the JACK Client, whose process loop will be set where to get events from "transforms input to output events where to put events Gexception causing JACK to remove that client from the process() graph. jthe PortBuffer to read from klm.the PortBuffer of the MIDI output to write to the RawEvent to write nopqr bcdefghijklmnopqr def bci kljmnoqprhgbcdefghijklmnopqr       !"#$#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\+]<^_`abc+<defghJijklmnopqrst  uvvwxyz{|}~# ++-->B=+-./ jack-0.7.0.3 Sound.JACKSound.JACK.MIDISound.JACK.ExceptionSound.JACK.AudioSound.JACK.FFIFreeSound.JACK.FFISound.JACK.FFI.MIDISound.JACK.Private UnknownTypePortIdProcessNFramesOutputInputnframesIndices nframesBoundsRawEventBuffertoRawEventFunctionErrnoNoErrno ThrowsErrnoerrnoPortMismatchKindDirectionMismatch TypeMismatch PortMismatchNoPortMismatchThrowsPortMismatch portMismatch PortRegisterNoPortRegisterThrowsPortRegister portRegisterStatusNoStatus ThrowsStatusstatusToStringtoStringAlltoStringWithHeadPortPortTypeClientPortSetUnknownDirection DirectionmakePortConnectmakePortRegistrationmakeClientRegistration makeProcess newClientnewClientDefault disposeClient withClientwithClientDefaultnewPort disposePortwithPortactivate deactivatewithActivation clientClosegetPortsconnect setOfPort setOfPortsquitwaitForBreakAndClose waitForBreakhandleExceptions setProcess withProcess getSampleRate lastFrameTimesetClientRegistrationwithClientRegistrationsetPortRegistrationwithPortRegistrationsetPortConnectwithPortConnectportById portByNameportName portShortNameportGetAllConnections narrowPortnarrowPortTypenarrowPortDirectionswitchUnknownTypePortswitchUnknownDirectionPortSample getBufferPtrgetBufferArraymainMonowithProcessMono mainStereowithProcessStereorawEvent rawEventTimerawEventBuffermainRawmain readRawEvents getBuffer clearBuffer writeRawEventreadRawEventsFromPortwriteRawEventsToPortreadEventsFromPort writeEventwriteEventsToPortfreePortNameArray PortConnectPortRegistrationClientRegistrationPortNamedeconsPortNamePortFlagPortIsTerminalPortCanMonitorPortIsPhysical PortIsOutput PortIsInput PortFlagSet VersionError ShmFailure InitFailure LoadFailure NoSuchClient ServerError ServerFailed ServerStarted NameNotUnique InvalidOptionFailure StatusSet OpenOptions ServerName UseExactName NoStartServer OpenOptionSetport_unregister disconnect client_closeget_buffer_sizeport_get_bufferlast_frame_timeport_get_all_connections get_ports port_type port_flagsport_short_name port_name port_by_name port_by_idset_port_connect_callbackset_port_registration_callback set_client_registration_callbackset_process_callback port_registerget_sample_rate client_new client_openwordNullOptionwordNoStartServerwordUseExactNamewordServerName wordFailurewordInvalidOptionwordNameNotUniquewordServerStartedwordServerFailedwordServerErrorwordNoSuchClientwordLoadFailurewordInitFailurewordShmFailurewordVersionError portIsInput portIsOutput nframesToWord_dummy $fCNFrames$fMonoidNFrames $fIxNFramestimebuffer EventBuffer event_write event_reserve clear_buffer event_getget_event_countwithByteStringPtr showEvent$fShowRawEvent$fStorableRawEvent$fThrowsErrnoErrno$fThrowsErrnoErrno0$fThrowsPortMismatchErrno$fThrowsPortRegisterErrno$fThrowsStatusErrno$fToStringErrno$fToStringErrno0$fThrowsErrnoPortMismatch $fThrowsPortMismatchPortMismatch $fThrowsPortRegisterPortMismatch$fThrowsStatusPortMismatch$fToStringPortMismatch$fThrowsErrnoPortRegister $fThrowsPortMismatchPortRegister $fThrowsPortRegisterPortRegister$fThrowsStatusPortRegister$fToStringPortRegister$fThrowsErrnoStatus$fThrowsPortMismatchStatus$fThrowsPortRegisterStatus$fThrowsStatusStatus$fToStringStatus $fToStringTportTypeToCString withCStringallocabracketbracket_ liftErrno$fPortTypeEventBuffer$fPortTypeCFloatbaseGHC.PtrFunPtr dirToFlags_dummyUnknownDirection defaultServer checkStatus newPortByType getClientgetPort withPortNamepeekPortNameArray withCallback$fMonoidPortSet$fDirectionOutput$fDirectionInput wrapMonoFunapplyToArraysMono wrapStereoFunapplyToArraysStereo parseEventwrapFun