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