예제 #1
0
/*------------------------------------ cmd_List ---*/
Pvoid
cmd_List(SpeakPtr xx,
         PSymbol  message,
         short    argc,
         PAtom    argv)
{
#pragma unused(message)
  bool  okSoFar = true;

  EnterCallback();
  if (xx && xx->fSpeaker)
  {
    if (xx->fPaused)
    {
      xx->fActive = xx->fPaused = false;
      StopSpeechAt(xx->fSpeaker, kImmediate);
      outlet_bang(xx->fDoneOut);
    }
    else if (xx->fActive)
    {
      LOG_POST_1(OUTPUT_PREFIX "previous speech not finished")
      xx->fActive = false;
      StopSpeechAt(xx->fSpeaker, kImmediate);
      outlet_bang(xx->fDoneOut);
    }
    clearDataBuffer(*xx->fBuffer);
    for (short ii = 0; okSoFar && (ii < argc); ++ii)
      okSoFar = addAtomToBuffer(OUR_NAME, *xx->fBuffer, &argv[ii]);
    if (okSoFar)
      transmitBuffer(xx);
  }
  ExitMaxMessageHandler()
} /* cmd_List */
예제 #2
0
/*------------------------------------ cmd_Int ---*/
Pvoid
cmd_Int(SpeakPtr xx,
        long     msg)
{
  EnterCallback();
  if (xx)
  {
    clearDataBuffer(*xx->fBuffer);
    addLongToBuffer(OUR_NAME, *xx->fBuffer, msg);
    transmitBuffer(xx);
  }
  ExitMaxMessageHandler()
} /* cmd_Int */
예제 #3
0
int FileIO::writeBufferData()
{
int temp = 0;
if (dataBuffer.size()!=0){
   temp = writeData(sizeof(char), dataBuffer.size(), &(dataBuffer[0]));
   if (temp>0){
      clearDataBuffer();
      return temp;
   }
}
return 0;

}
예제 #4
0
void SharedBuffer::clear()
{
    clearPlatformData();
    
#if !USE(NETWORK_CFDATA_ARRAY_CALLBACK)
    for (char* segment : m_segments)
        freeSegment(segment);
    m_segments.clear();
#else
    m_dataArray.clear();
#endif

    m_size = 0;
    clearDataBuffer();
}
예제 #5
0
void SharedBuffer::clear()
{
    clearPlatformData();
    
#if !USE(NETWORK_CFDATA_ARRAY_CALLBACK)
    for (unsigned i = 0; i < m_segments.size(); ++i)
        freeSegment(m_segments[i]);

    m_segments.clear();
#else
    m_dataArray.clear();
#endif

    m_size = 0;
    clearDataBuffer();
}
예제 #6
0
void FileIO::clearDataBuffer()
{
   if (dataBuffer.size()>=1){
      clearDataBuffer(0);
   }
}