UIwf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde Safe-Inferedf8Free an array of NULL terminated port names returned by  get_ports and port_get_all_connections. fff Safe-InferedOType argument for Jack ports where the type of samples transported by the port  is unknown. represents absolute frame time [ghijklmnopqrstuvwxyz{|}~Yghijklmnopqrstuvwxyz{|}~@ghijklmnoputsrqvw ~}|{zyx Safe-Infered!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  !"#$  !"#$!"$#   #   !"#$ Safe-Infered&Jack Port Type 'Handles of Jack clients %&' %&' %&' Safe-Infered(&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. *$Type argument for Jack output ports +#Type argument for Jack input ports -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. G&Set the client registration callback. H$Set the port registration callback. ISet the port connect callback. L)Return the full port name, including the  client_name: prefix. M.Return the short port name, not including the  client_name: prefix. N8Return 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 >?@ABCDEFGHIJKLMNOPQRS7%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS7'12345<9:;&,+*)%678(?@>0EF/G.H-IJKLM=NOPQRSABCD/()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS Safe-InferedTUV Jack client name of the input port WXYZ[TUVWXYZ[UTVY[WXZTUVWXYZ[ Safe-Infered^(Smart constructor for a raw MIDI event. aTCreates an input and an output, and transforms all raw input events into raw output # events using the given function bLCreates an input and an output, and transforms all input events into output # events using the given function c)sets the process loop of the JACK Client d8reads all available MIDI Events on the given PortBuffer e[writes a MIDI event to the PortBuffer of a MIDI output or throws eNOBUFS if buffer is full \] Jack client name of the input port ^?Sample index at which event is valid (relative to cycle start) Raw MIDI data _`a&transforms raw input to output events b"transforms input to output events c0the 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. dthe PortBuffer to read from 9pointers to newly allocated events, must be freed later! e.the PortBuffer of the MIDI output to write to the RawEvent to write  \]^_`abcde ^_` \]cdeba \]^_`abcde       !"!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW)X<YZ[\])<^_`abIcdefg  h iijklmnopq!rstuvwxyz{|}~))++>B=)+ jack-0.6.2 Sound.JACKSound.JACK.MIDISound.JACK.ExceptionSound.JACK.AudioSound.JACK.FFIFreeSound.JACK.FFISound.JACK.FFI.MIDISound.JACK.Private UnknownTypePortIdProcess CallbackArgNFramesnframesIndices nframesBoundsRawEventtoRawEventFunctionErrnoNoErrno ThrowsErrnoerrnoPortMismatchKindDirectionMismatch TypeMismatch PortMismatchNoPortMismatchThrowsPortMismatch portMismatch PortRegisterNoPortRegisterThrowsPortRegister portRegisterStatusNoStatus ThrowsStatusstatusToStringtoStringAlltoStringWithHeadPortPortTypeClientPortSetUnknownDirectionOutputInput Direction mkPortConnectmkPortRegistrationmkClientRegistration mkProcess newClientnewClientDefault disposeClient withClientwithClientDefaultnewPort disposePortwithPortactivate deactivatewithActivation clientClosegetPortsconnect setOfPort setOfPortsquitwaitForBreakAndClose waitForBreakhandleExceptions setProcess getSampleRatesetClientRegistrationsetPortRegistrationsetPortConnectportById portByNameportName portShortNameportGetAllConnections narrowPortnarrowPortTypenarrowPortDirectionswitchUnknownTypePortswitchUnknownDirectionPortSamplegetBufferArraymainMonosetProcessMono mainStereosetProcessStereorawEvent rawEventTimerawEventBuffermainRawmain readRawEvents writeRawEventfreePortNameArray 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$fMonoidNFrames $fIxNFramestimebuffer EventBuffer event_write event_reserve clear_buffer event_getget_event_countwithByteStringPtr$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 portGetBuffer withCStringallocabracketbracket_ liftErrno$fPortTypeEventBuffer$fPortTypeCFloatbaseGHC.PtrFunPtr$fMonoidPortSet$fDirectionOutput$fDirectionInput