<<>> <> <> <> <> <> <<>> DIRECTORY VoiceRopeServer, VoiceRopeServerSunRPC, VoiceRopeServerSunRPCServer, Thrush, ThrushSunRPC, ThrushSunRPCConvert; VoiceRopeServerSunRPCToVoiceRopeServer: CEDAR PROGRAM IMPORTS VoiceRopeServer, ThrushSunRPCConvert EXPORTS VoiceRopeServerSunRPCServer ~ { OPEN VoiceRopeServerSunRPC, VoiceRopeServerSunRPCServer, ThrushSunRPCConvert; <> <<>> Forget: PUBLIC ForgetType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Forget[shhh: Thrush.none, vr: SrToVoiceRope[vr], class: SrToROPE[class], refID: SrToROPE[refID] ]; nb _ ATOMToSr[thNB]; }; Record: PUBLIC RecordType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.Record[shhh: Thrush.none, credentials: SrToCredentials[credentials], serviceID: serviceID, recordedParty: recordedParty, intID: intID, queueIt: queueIt]; nb _ ATOMToSr[thNB]; voiceRope _ VoiceRopeToSr[thVr]; }; Play: PUBLIC PlayType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Play[shhh: Thrush.none, voiceRope: SrToVoiceRope[voiceRope], credentials: SrToCredentials[credentials], serviceID: serviceID, intID: intID, queueIt: queueIt]; nb _ ATOMToSr[thNB]; }; Cat: PUBLIC CatType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.Cat[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr1: SrToVoiceRope[vr1], vr2: SrToVoiceRope[vr2], vr3: SrToVoiceRope[vr3], vr4: SrToVoiceRope[vr4], vr5: SrToVoiceRope[vr5]]; nb _ ATOMToSr[thNB]; new _ VoiceRopeToSr[thVr]; }; Stop: PUBLIC StopType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Stop[shhh: Thrush.none, credentials: SrToCredentials[creentials], serviceID: serviceID]; nb _ ATOMToSr[thNB]; }; Substr: PUBLIC SubstrType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.Substr[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], start: start, len: len]; nb _ ATOMToSr[thNB]; new _ VoiceRopeToSr[thVr]; }; Replace: PUBLIC ReplaceType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.Replace[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], start: start, len: len, with: SrToVoiceRope[with]]; nb _ ATOMToSr[thNB]; new _ VoiceRopeToSr[thVr]; }; DescribeRope: PUBLIC DescribeRopeType = { thNB: Thrush.NB; thIntervalSpecs: VoiceRopeServer.IntervalSpecs; [thNB, length, thIntervalSpecs] _ VoiceRopeServer.DescribeRope[shhh: Thrush.none, vr: SrToVoiceRope[vr], minSilence: minSilence]; nb _ ATOMToSr[thNB]; noise _ IntervalSpecsToSr[thIntervalSpecs]; }; SetPermissions: PUBLIC SetPermissionsType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.SetPermissions[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], playAccess: SrToUsers[playAccess], editAccess: SrToUsers[editAccess]]; nb _ ATOMToSr[thNB]; }; Pause: PUBLIC PauseType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Pause[shhh: Thrush.none, credentials: SrToCredentials[cedentials], serviceID: serviceID]; nb _ ATOMToSr[thNB]; }; Resume: PUBLIC ResumeType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Resume[shhh: Thrush.none, credentials: SrToCredentials[credentials], serviceID: serviceID]; nb _ ATOMToSr[thNB]; }; GetEnergies: PUBLIC GetEnergiesType = { thNB: Thrush.NB; thEnergies: VoiceRopeServer.EnergySequence; [thNB, thEnergies] _ VoiceRopeServer.GetEnergies[shhh: Thrush.none, vr: SrToVoiceRope[vr], samplesPerSegment: samplesPerSegment]; nb _ ATOMToSr[thNB]; energies _ EnergySequenceToSr[thEnergies]; }; GetPermissions: PUBLIC GetPermissionsType = { thNB: Thrush.NB; thPlayAccess, thEditAccess: VoiceRopeServer.Users; [thNB, thPlayAccess, thEditAccess] _ VoiceRopeServer.GetPermissions[shhh: Thrush.none, vr: SrToVoiceRope[vr]]; nb _ ATOMToSr[thNB]; playAccess _ UsersToSr[thPlayAccess]; editAccess _ UsersToSr[thEditAccess]; }; Length: PUBLIC LengthType = { thNB: Thrush.NB; [thNB, len] _ VoiceRopeServer.Length[shhh: Thrush.none, vr: SrToVoiceRope[vr]]; nb _ ATOMToSr[thNB]; }; GetByInterest: PUBLIC GetByInterestType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.GetByInterest[shhh: Thrush.none, class: SrToROPE[class], refID: SrToROPE[refID] ]; nb _ ATOMToSr[thNB]; voiceRope _ VoiceRopeToSr[thVr]; }; StoreBlock: PUBLIC StoreBlockType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] _ VoiceRopeServer.StoreBlock[shhh: Thrush.none, block: SrToVoiceBlock[block], key: SrToEncryptionKey[key]]; nb _ ATOMToSr[thNB]; voiceRope _ VoiceRopeToSr[thVr]; }; Retain: PUBLIC RetainType = { thNB: Thrush.NB; thNB _ VoiceRopeServer.Retain[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], class: SrToROPE[class], refID: SrToROPE[refID], other: SrToROPE[other] ]; nb _ ATOMToSr[thNB]; }; FetchBlock: PUBLIC FetchBlockType = { thNB: Thrush.NB; thVb: VoiceRopeServer.VoiceBlock; [thNB, thVb] _ VoiceRopeServer.FetchBlock[shhh: Thrush.none, vr: SrToVoiceRope[vr], start: start, len: len, decrypt: decrypt]; nb _ ATOMToSr[thNB]; block _ VoiceBlockToSr[thVb]; }; }. <> <> <> <> <> <>