!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t u v w x y z { | } ~       None3:BM /Create a new connection given an OSC transport. Close the connection.KThe behavior of sending messages after closing the connection is undefined."Send an OSC packet asynchronously.#Add a listener to the listener map.(Remove a listener from the listener map.NPerform an IO action with a registered listener that is automatically removed.         Safe-InferredM #!Open ended interval [begin, end).&NConstruct a range from a lower bound (included) and an upper bound (excluded).%\(r :: Range Int) -> begin r == end r'0Construct a range from a size and a lower bound. sized 20 10 Range 10 30('The empty range starting at some value.empty 10 Range 10 10null (empty 10) Truesize (empty 10) 0)The last value in the range.last (range 10 20)19*The size of the range.size (range 10 20)10size (sized 100 10)100+True if range is empty.null (range 10 10)Truenull (range 10 20)False,&Convert range to a list of its values.-;Return true if a given value is contained within the range.within 12 (sized 3 10)Truewithin 20 (range 10 20)Falsewithin 30 (range 30 30)False.,Return true if two ranges adjoin each other.!range 10 20 `adjoins` range 20 30True!range 10 20 `adjoins` range 21 30False/-Return true if two ranges overlap each other.0GReturn true if the second range lies completely within the first range.1Split a range at an index.$let (r1, r2) = split 6 (range 10 20)size r16size r24 let (r1, r2) = split 6 (empty 6)null r1 && null r2True$let (r1, r2) = split 10 (sized 4 10)size r14size r20#$%&'()*+,-./012#$%&'()*+,-./012#$%&'($%)*+,-./012#$%&'()*+,-./012  Safe-Inferred3456 !"#$%&'( 3456!"#$%(3654 !"#$%&'( Safe-Inferred+3=K7gRangeAllocator provides an interface for allocating and releasing ranges of consecutive identifiers.8DAllocate n consecutive identifiers and return the changed allocator.9UFree a range of previously allocated identifiers and return the changed allocator.:IdAllocator provides an interface for allocating and releasing identifiers that correspond to server resources, such as node, buffer and bus ids.;$Id type allocated by this allocator.<;Allocate a new identifier and return the changed allocator.=HFree a previously allocated identifier and return the changed allocator.\Freeing an identifier that hasn't been allocated with this allocator may trigger a failure.>Return usage statistics.?"Simple allocator usage statistics.A%Total number of available identifiersB)Number of currently available identifiersC&Number of identifiers currently in useDFailure type for allocators.E?The id being released has not been allocated by this allocator.F,There are no free ids left in the allocator.G.Percentage of currently available identifiers. LpercentFree s = numFree s / numAvailable s percentFree s + percentUsed s = 1H+Percentage of identifiers currently in use. LpercentUsed s = numUsed s / numAvailable s percentUsed s + percentFree s = 1IPAllocate a number of (not necessarily consecutive) IDs with the given allocator.3Returns the list of IDs and the modified allocator.J.Free a number of IDs with the given allocator.Returns the modified allocator.789:;<=>?@ABCDEFGHIJ)789:;<=>?@ABCDEFGHIJDFE?@ABCGH:;<=>IJ789 789:;<=>?@ABCDFEGHIJ) Safe-Inferred3=KK*+,-.LMNOPQR/0123 3456KLMNOPQR K3654LNMOPQR K*+,-.LNMOPQR/0123None3=K4Convert an id to a bit index.FThis is necessary to keep the BitSet size bounded between [0, numIds). S5T46789:STSTS5T46789: Safe-Inferred3=KU;V<=>?UVUVU;V<=>? Safe-Inferred3WXYZ[WXYZ[WXYZ[WXYZ[None !":=BKM @Server allocators.\Audio bus id allocator.] Audio bus id.^Control bus id allocator._Control bus id.`Buffer id allocator.a Buffer id.bNode id allocator.cNode id.d%Synchronisation barrier id allocator.eSynchronisation barrier id.A+Create a new state with default allocators.$@BCDEFG\H]I^J_K`LaMbNcOdPeQARSTUVWXY@CDEFG\]^_`abcdeA@BCDEFG\H]I^J_K`LaMbNcOdPeQARSTUVWXY NonezKA notification transformer, extracting a value from a matching OSC message.}4Wait for an OSC message matching a specific address. Returns the matched OSC message.~/Send an OSC packet and wait for a notification.Returns the transformed value.8Send an OSC packet and wait for a list of notifications.5Returns the transformed values, in unspecified order.6fghijkZ[\]lmnopqrstuvwxyz{|}~^_`ab-fghijklmnopqrstuvwxyz{|}~1z{|}~pqrstuvwxyklmnolmnofghijfghijk ]Zlmnolmno[\p qrstuvwxyz{|}~^_`ab None3=K.Wait for a notification and return the result.NWait for a set of notifications and return their results in unspecified order.)Monadic resource id management interface.c allocator.SyncId allocator.BufferId allocator. AudioBusId allocator. ControlBusId allocator.)Allocate an id using the given allocator.%Free an id using the given allocator.Return allocator statistics=Allocate a contiguous range of ids using the given allocator.9Free a contiguous range of ids using the given allocator.Return the server options.Return the root node id.Return a server option. None 2346=BKRun a 6 computation given a connection and return the result.c Append a /sync message to an OSC packet.<Send an OSC packet and wait for the synchronization barrier.<Fork a computation in a new thread and return the thread id.This is an alias for .%defghijklmnopqrstucvwxyz{|}~%\]^_`abcde%a`_^]\cbeddefghijklmnopstucvwxyz{}|q~r None Open a transport to an existing scsynth process determined by  and run the supplied  action. Start an scsynth instance and run the supplied  action.When the action returns, scsynth will quit. Start an scsynth4 instance with default options and run the supplied  action.General server optionsRealtime server options*Host to connect to (defaults to localhost)Action to execute Action resultGeneral server optionsRealtime server optionsOutput handlerAction to execute Action resultFNone3=BK-Representation of a deferred server resource.3Resource resource values can only be observed with  after the surrounding  action has been executed with ."Allocation action newtype wrapper.,Server-side action (or sequence of actions).2Internal state used for constructing bundles from  actions.Current list of OSC messages.0Current list of notifications to synchronise on.'Cleanup action to deallocate resources.4Whether last bundle needs a synchronisation barrier.The empty state.#Lift a ServerT action into Request.This is potentially unsafe and should only be used for the allocation of server resources. Lifting actions that rely on communication and synchronisation primitives will not work as expected.Get a value from the state.%Modify the state in a Request action. Extract a  'Result'\'s value.xRegister a cleanup action that is executed after the notification has been received and return the notification result.uRegister a cleanup action, to be executed after a notification has been received and ignore the notification result..Wait for a notification and return the result.rRegister a cleanup action that is executed after all asynchronous commands and notifications have been performed.9Create an asynchronous command from an allocation action.The first return value should be a server resource allocated on the client, the second a function that, given a completion packet, returns an OSC packet that asynchronously allocates the resource on the server.`Create an asynchronous command from an OSC function that has side effects only on the server.)Create a synchronisation barrier message.5Add a synchronisation barrier to a request if needed.Run a request, returning the action's result, an OSC packet, a list of notifications to synchronise on and a cleanup action.Execute a request.UThe commands after the last asynchronous command will be scheduled at the given time.Execute a request immediately.8Bundles are flattened into the resulting bundle because scsynth! doesn't support nested bundles.)None2346:BMM Control bus. Audio bus.4Abstract interface for control and audio rate buses.Rate of computation.Number of channels. Free bus.Mapping node controls to buses.1Map a node's controls to read from a control bus.,Remove a control's mapping to a control bus."Construct a function suitable for .Request server status.Request server status.8Select printing of incoming Open Sound Control messages.-Remove all bundles from the scheduling queue.!Set error posting scope and mode.)Construct a synth definition from a name.The default synth definition.Compute a unique name for a UGen graph. graphName :: UGen -> String graphName = SHA.showBSasHex . SHA.hash SHA.SHA256 . BZip.compress . Synthdef.graphdef . Synthdef.synthCreate a new synth definition. d_new :: Monad m => String -> UGen -> Async m SynthDef d_new prefix ugen | length prefix < 127 = mkAsync $ return (sd, f) | otherwise = error "d_new: name prefix too long, resulting string exceeds 255 characters" where sd = SynthDef (prefix ++ "-" ++ graphName ugen) f osc = (mkC C.d_recv C.d_recv' osc) (Synthdef.synthdef (name sd) ugen)7Create a synth definition from a name and a UGen graph.9Load a synth definition from a named file. (Asynchronous):Load a directory of synth definition files. (Asynchronous)5Remove definition once all nodes using it have ended.#Construct an abstract node wrapper. Place node a after node b. Place node a before node b.'Fill ranges of a node's control values.Delete a node. Query a node. Query a node. Query a node.Turn node on or off.Set a node's control values.&Set ranges of a node's control values. Trace a node."Move an ordered sequence of nodes.Create a new synth.%Create a new synth in the root group./Release a synth with a "gate" envelope control.Get control values.Get ranges of control values.TFree a synth's ID and auto-reassign it to a reserved value (the node is not freed!).Return the server's root group.Create a new group.*Create a new group in the top level group.5Free all synths in this group and all its sub-groups.Delete all nodes in a group.Add node to head of group.Add node to tail of group.lPost a representation of a group's node subtree, optionally including the current control values for synths.Send a plugin command.#Send a command to a unit generator.NAllocates zero filled buffer to number of channels and samples. (Asynchronous);Allocate buffer space and read a sound file. (Asynchronous)VAllocate buffer space and read a sound file, picking specific channels. (Asynchronous)<Read sound file data into an existing buffer. (Asynchronous)WRead sound file data into an existing buffer, picking specific channels. (Asynchronous)%Write sound file data. (Asynchronous)Free buffer. (Asynchronous) Zero sample data. (Asynchronous)Set sample values.Set ranges of sample values.Fill ranges of sample values./Call a command to fill a buffer. (Asynchronous)3Fill a buffer with partials, specifying amplitudes.ZFill a buffer with partials, specifying frequencies (in cycles per buffer) and amplitudes.bFill a buffer with partials, specifying frequencies (in cycles per buffer), amplitudes and phases.6Fills a buffer with a series of chebyshev polynomials.>Copy samples from the source buffer to the destination buffer.EClose attached soundfile and write header information. (Asynchronous)Request  BufferInfo.Request  BufferInfo.Get audio bus id.9Allocate audio bus with the specified number of channels.Return * if bus is a hardware output or input bus.Get hardware input bus. Get hardware output bus. Get control bus ID. ;Allocate control bus with the specified number of channels.j   ~  !"     " !   Y    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH I J K LMNOPQRSTUUVWXYZ[\]^_`abcdefghdidRSTNOjklmnopqrs t t u v w x y z { | } } ~       R S T N O   vy             9       >    R  ! "#`$%&'()*+,-h.()*/i()*0121jklmnopqrs3456789: ; < = > ? @ A B CDEEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`a_bc_bd_be_bf_bg_bh_bi_bi_`j_`k_`l_`m_`n_`o_`p_`q_`r_`s_`t_`u_`v_`w_`x_`y_`z_`{_`|_`}_`~_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`_`GGhsc3-server-0.9.2Sound.SC3.Server.State.Monad$Sound.SC3.Server.State.Monad.Command Sound.SC3.Server.Allocator.Range2Sound.SC3.Server.Allocator.BlockAllocator.FirstFitSound.SC3.Server.Allocator'Sound.SC3.Server.Allocator.SetAllocator*Sound.SC3.Server.Allocator.SimpleAllocator"Sound.SC3.Server.Allocator.WrappedSound.SC3.Server.Notification"Sound.SC3.Server.State.Monad.Class$Sound.SC3.Server.State.Monad.ProcessSound.SC3.Server.Connection2Sound.SC3.Server.Allocator.BlockAllocator.FreeListSound.SC3.Server.StateControl.Concurrent.Liftedfork$Sound.SC3.Server.State.Monad.Request hosc-0.15Sound.OSC.Transport.MonadsendOSCSendOSC hsc3-0.15Sound.SC3.Server.Enum AddToHead AddToTail AddBeforeAddAfter AddReplace AddActionGloballyLocally ErrorScope ErrorsOffErrorsOn ErrorMode NoPrinter TextPrinter HexPrinter AllPrinter PrintLevelAiffFlacIrcamNextRawWaveSoundFileFormatPcmInt8PcmInt16PcmInt24PcmInt32PcmFloat PcmDoublePcmMulawPcmAlaw SampleFormatRangebeginendrangesizedemptylastsizenulltoListwithinadjoinsoverlapscontainssplitjoinSortingDecreasingSizeIncreasingSizeAddressRangeAllocator allocRange freeRange IdAllocatorIdallocfree statistics Statistics numAvailablenumFreenumUsed AllocFailure InvalidId NoFreeIds percentFree percentUsed allocManyfreeManyFirstFitAllocator CoalescingLazyCoalescing NoCoalescingcons addressFitbestFitworstFit SetAllocatorSimpleAllocatorAudioBusIdAllocator AudioBusIdControlBusIdAllocator ControlBusIdBufferIdAllocatorBufferIdNodeIdAllocatorNodeIdSyncIdAllocatorSyncId BufferInfo numFrames numChannels sampleRateNodeNotificationnodeId parentGroupIdpreviousNodeId nextNodeIdStatusnumUGens numSynths numGroups numSynthDefsavgCPUpeakCPUnominalSampleRateactualSampleRate Notificationmatch hasAddresswaitFor waitForAll status_replytrsynceddone headNodeId tailNodeIdn_gon_endn_offn_onn_moven_infon_go_n_end_n_off_n_on_n_setn_setnb_info RequestOSCrequest requestAllMonadIdAllocator AllocatornodeIdAllocatorsyncIdAllocatorbufferIdAllocatoraudioBusIdAllocatorcontrolBusIdAllocator MonadServer serverOptions rootNodeId serverOptionServer runServer asTransportsync unsafeSync withTransport withSynthwithDefaultSynthResultRequestextractexecexec_ ControlBuscontrolBusIdRangeAudioBusaudioBusIdRangeBusratefreeBusBufferbufferIdGroupSynth BusMappingn_mapn_unmap AbstractNodeNodeSynthDefnamestatusstatusMdumpOSC clearSched errorModed_named d_defaultd_recvd_load d_loadDird_freenoden_aftern_beforen_filln_freen_query_n_queryn_queryMn_run_n_tracen_orders_news_new_ s_releases_gets_getns_noidrootNodeg_newg_new_ g_deepFree g_freeAllg_headg_tail g_dumpTreecmdu_cmdb_alloc b_allocReadb_allocReadChannelb_read b_readChannelb_writeb_freeb_zerob_setb_setnb_fillb_gen b_gen_sine1 b_gen_sine2 b_gen_sine3 b_gen_cheby b_gen_copyb_closeb_queryb_queryM audioBusId newAudioBusinputBus outputBus controlBusId newControlBusopenclosesend addListenerremoveListener withListener Connection ListenerMapListener listenersrecvLoopmkRange $fShowRangeSortFuncFreeListsortFuncsortByinsertBy singletonfromListinsert coalescelsortedByAddresscoalesce$fExceptionAllocFailure coalescing availableusedfreeList_alloc_free _statistics!$fRangeAllocatorFirstFitAllocator$fIdAllocatorFirstFitAllocatortoBitfindNext$fIdAllocatorSetAllocator$fIdAllocatorSimpleAllocator Allocators mkAllocators#$fRangeAllocatorAudioBusIdAllocator $fIdAllocatorAudioBusIdAllocator%$fRangeAllocatorControlBusIdAllocator"$fIdAllocatorControlBusIdAllocator!$fRangeAllocatorBufferIdAllocator$fIdAllocatorBufferIdAllocator$fIdAllocatorNodeIdAllocator$fIdAllocatorSyncIdAllocatorGroupNotification _headNodeId _tailNodeIdSynthNotification normalizeisSynthNotificationn_notificationn_notification_$fFunctorNotification appendSync AsTransportunServerState_serverOptions _connection_syncIdAllocator_nodeIdAllocator_bufferIdAllocator_audioBusIdAllocator_controlBusIdAllocator StM_Server withAllocatorwithAllocator_withConnection$fRequestOSCServer$fTransportAsTransport$fDuplexOSCAsTransport$fRecvOSCAsTransport$fSendOSCAsTransport$fSendOSCServerTFCo:R:AllocatorServera$fMonadIdAllocatorServer$fMonadServerServerTFCo:R:StMServera$fMonadBaseControlIOServer$fMonadBaseIOServerhsc3-process-0.10.0 Sound.SC3.Server.Process.Options networkPortSound.SC3.Server.ProcesswithNRTrunNRTdefaultOutputHandlerNetworkTransport onPutError onPutString OutputHandlerdefaultNRTOptionsdefaultRTOptionsTCPdefaultRTOptionsUDPwithJackDeviceNamejackDeviceNameonPortdefaultRTOptionsdefaultTCPPortdefaultUDPPortfromApplicationBundle fromPrefixfromBuildDirectorydefaultServerOptionsSilentQuietNormalVerbose VeryVerboseExtremelyVerbose VerbosityrestrictedPathugenPluginPath verbosity loadSynthDefsnumberOfRandomSeedsnumberOfWireBuffersrealtimeMemorySizemaxNumberOfSynthDefsmaxNumberOfNodesnumberOfSampleBuffers blockSizenumberOfOutputBusChannelsnumberOfInputBusChannelsnumberOfAudioBusChannelsnumberOfControlBusChannels serverProgram ServerOptionsUDPPortTCPPort NetworkPortoutputStreamsEnabledinputStreamsEnabledhardwareSampleRatehardwareBufferSizehardwareDeviceNamesessionPasswordmaxNumberOfLogins useZeroconf RTOptionsoutputSampleFormatoutputSoundFileFormatoutputSampleRateoutputFilePath inputFilePath NRTOptionsAllocTrequests notificationscleanup needsSync emptyStateliftgetsmodifyafterafter_finallymkAsyncmkAsync_mkSyncfinish runRequest$fSendOSCRequestBuilder BuildAsync BuildSync BuildDoneAllocT_AllocatorRequest_AllocatorcompileTFCo:R:AllocatorAllocTa$fMonadIdAllocatorAllocTTFCo:R:AllocatorRequesta$fMonadIdAllocatorRequest$fMonadServerRequestmkC isHardwareBusghc-prim GHC.TypesTruegetwithSync$fBusControlBus $fBusAudioBus $fNodeGroup $fNodeSynth$fBusMappingnAudioBus$fBusMappingnControlBus$fShowAbstractNode$fNodeAbstractNode$fEqAbstractNode