Conversation Management
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];
};
}.