DWORD PCOBuffer::Remove() { DWORD err = 0; err = RemoveBuffer(cameraHandle, bufnr); errmsg.ShowPCOError("RemoveBuffer", err); return err; }
//============================================================================== int COptoTrack::DisconnectOpto(){ int iSensor; if( !IsRunning() ) { CP_printf("Opto is not connected!\n"); return 1; } CP_printf("\nDisonnecting OptoTrak... "); // Stop the thread, specify stopping time in ms (duration of 10 frames) if( m_StopReadingThread( int(FRAME_TIME_MS) * 10 ) > 1 ) { CP_printf("\nError: m_StopReadingThread() failed!\n"); return 1; } // release the buffers RemoveBuffer(); // Set signal level indicator to OFF for(iSensor =0; iSensor < N_SENSORS_MAX; iSensor++) m_iDistirtionLevel[iSensor]= ecSensorOff; CP_printf("Opto disconnected.\n"); CP_printf("Collected %d frames.\n", m_iReadCount); CP_printf("Last frame index from OptotTrak: %d\n", m_iOptoFrameIdx); CP_printf("Number of missed frames: %d\n", m_nMissedFrames); CP_printf("Number of missed times: %d\n", m_nMissedTimes); CP_printf("++++++++++++++++++++++++++++++++++++++\n"); return 0; }
void DeleteBuffer(ALCdevice *device, ALbuffer *buffer) { RemoveBuffer(device, buffer->id); FreeThunkEntry(buffer->id); free(buffer->data); memset(buffer, 0, sizeof(*buffer)); free(buffer); }
CRecvBuffer::CRecvBuffer (int packetCount) : m_bufferSize (packetCount * sizeof (PACKET_GAME)), m_init (true) { m_pBuffer = new unsigned char [m_bufferSize] ; if ( NULL == m_pBuffer ) { m_init = false ; RemoveBuffer () ; } Clear () ; }
//=========================================================================== int CSerialThread::m_CloseSerialThread( ){ //Terminate thread m_blnThreadActive = false; Sleep(200); // Wait for the thread to finish if( m_hSerialThread != NULL ) { CP_printf("Error in m_CloseSerialThread()! Thread is still running.\n"); } m_Serial.disconnect(); RemoveBuffer(); return 0; }
//============================================================================== int CEyeTrack::ConnectISCAN( ){ int iRet; if( IsRunning() ) { CP_printf("Error in m_InitSerialThread()! Thread is already running.\n"); return 1; } iRet = g_SysGrantIO( LPT_BASE ); if( iRet ) { iPortIO_Granted = 0; printf("Error: Cannot grant I/O access, error: %d\n", iRet ); return 1; } iPortIO_Granted = 1; PortOutput( LPT_CONTROL, RESET_ON); Sleep(1); PortOutput( LPT_CONTROL, GATE_OFF); Sleep(1); PortOutput( LPT_CONTROL, GATE_ON); CP_printf("Connecting to %s port\n", x_aszComNames[ m_iComPortIdx-1]); iRet = m_Serial.connect(x_aszComNames[ m_iComPortIdx-1], m_iBaudRate, m_iSerialParity); if(iRet) { CP_printf("Error in m_InitSerialThread, m_Serial.connect() failed\n"); return 1; } m_ReadCount = 0; m_iMissCount = 0; m_nMissedFrames = 0; m_iPrevFrame = 0; m_iReportSync = 1; // report next sync // Init sliding buffer SetBuffer(sizeof(IScanFrameStruct), ISCAN_BUFFER_SIZE); ResetBuffer(); ResetTime(); m_StartReadingThread( ); if( !IsRunning() ) { CP_printf("Error in m_InitSerialThread()! CreateThread() failed.\n"); PortOutput( LPT_CONTROL, GATE_OFF); RemoveBuffer(); return 1; } CP_printf("Connected ISCAN\n"); CP_printf("Expected number of parameters: %d\n", N_DATA_ITEMS); return 0; }
//============================================================================== int CEyeTrack::DisconnectISCAN(){ if( iPortIO_Granted ) { PortOutput( LPT_CONTROL, GATE_OFF); } //Terminate thread m_StopReadingThread( 500 ); // thread stop time msec m_Serial.disconnect(); RemoveBuffer(); CP_printf("Disconnected ISCAN\n"); return 0; }
/* * This application substitues in the DNA sequence the outside ACGT chars by random ACGT symbols. */ int main(int argc, char *argv[]){ uint32_t streamSize, index, seed = 0; uint8_t value; char *bases = "ACGT"; BUF *Buffer; srand(seed); char *programName = argv[0]; struct argparse_option options[] = { OPT_HELP(), OPT_GROUP("Basic options"), OPT_BUFF('<', "input.seq", "Input sequence file (stdin)"), OPT_BUFF('>', "output.seq", "Output sequence file (stdout)"), OPT_END(), }; struct argparse argparse; char usage[250] = "\nExample: "; strcat(usage, programName); strcat(usage, " < input.seq > output.seq\n"); argparse_init(&argparse, options, NULL, programName, 0); argparse_describe(&argparse, "\nIt substitues in the DNA sequence the outside " "ACGT chars by random ACGT symbols.\nIt works in sequence file formats\n", usage); argc = argparse_parse(&argparse, argc, argv); if(argc != 0) argparse_help_cb(&argparse, options); Buffer = CreateBuffer(BUF_SIZE); while((streamSize = fread(Buffer->buf, 1, Buffer->size, stdin))) for(index = 0 ; index < streamSize ; ++index) { value = Buffer->buf[index]; if(value == '\n') continue; RandIfExtra(value, bases); } RemoveBuffer(Buffer); return EXIT_SUCCESS; }
AL_API ALvoid AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers) { ALCdevice *device; ALCcontext *context; ALbuffer *ALBuf; ALsizei i; context = GetContextRef(); if(!context) return; if(!(n >= 0)) SET_ERROR_AND_GOTO(context, AL_INVALID_VALUE, done); device = context->Device; for(i = 0; i < n; i++) { if(!buffers[i]) continue; /* Check for valid Buffer ID */ if((ALBuf=LookupBuffer(device, buffers[i])) == NULL) SET_ERROR_AND_GOTO(context, AL_INVALID_NAME, done); if(ReadRef(&ALBuf->ref) != 0) SET_ERROR_AND_GOTO(context, AL_INVALID_OPERATION, done); } for(i = 0; i < n; i++) { if((ALBuf=RemoveBuffer(device, buffers[i])) == NULL) continue; FreeThunkEntry(ALBuf->id); free(ALBuf->data); memset(ALBuf, 0, sizeof(*ALBuf)); free(ALBuf); } done: ALCcontext_DecRef(context); }
void BufferCircle::Resize(int size) { while(size < Size()) RemoveBuffer(Size()-1); int oldSize = Size(); SoundBuffer.resize(size); BufferSize.resize(size); BufferReady.resize(size); for(int i = oldSize; i < Size(); i++) { if(BufferBlockSize > 0) SoundBuffer[i] = (u8 *) memalign(32, ALIGN32(BufferBlockSize)); else SoundBuffer[i] = NULL; BufferSize[i] = 0; BufferReady[i] = false; } }
void AudioHandlerAl::UnloadSound(const std::string& resource) { // remove all referenced source first std::map<std::string, int>::iterator itor = buffer_resource_map_.find(resource); if (itor != buffer_resource_map_.end()) { int buffer_ref = itor->second; size_t source_num = sources_.size(); for (int i = 0; i < source_num; ++i) { if (sources_[i].buffer_ref == buffer_ref) RemoveSource(i); } } // if still exist itor = buffer_resource_map_.find(resource); if (itor != buffer_resource_map_.end()) { RemoveBuffer(itor->second); } }
CRecvBuffer::~CRecvBuffer () { RemoveBuffer () ; }
/* * This application substitues in the FASTQ files, the DNA sequence the outside ACGT chars by random ACGT symbols. */ int main(int argc, char *argv[]) { uint32_t streamSize, index, seed = 0; uint8_t value, line = 0; char *bases = "ACGT"; PARSER *Parser = CreateParser(); BUF *Buffer; srand(seed); char *programName = argv[0]; struct argparse_option options[] = { OPT_HELP(), OPT_GROUP("Basic options"), OPT_BUFF('<', "input.fastq", "Input FASTQ file format (stdin)"), OPT_BUFF('>', "output.fastq", "Output FASTQ file format (stdout)"), OPT_END(), }; struct argparse argparse; char usage[250] = "\nExample: "; strcat(usage, programName); strcat(usage, " < input.fastq > output.fastq\n"); argparse_init(&argparse, options, NULL, programName, 0); argparse_describe(&argparse, "\nIt substitues in the FASTQ files, the DNA sequence the outside ACGT chars by random ACGT symbols.", usage); argc = argparse_parse(&argparse, argc, argv); if(argc != 0) argparse_help_cb(&argparse, options); FileType(Parser, stdin); if(Parser->type != 2) { fprintf(stderr, "ERROR: This is not a FASTQ file!\n"); exit(1); } Buffer = CreateBuffer(BUF_SIZE); while((streamSize = fread(Buffer->buf, 1, Buffer->size, stdin))) for(index = 0 ; index < streamSize ; ++index) { value = Buffer->buf[index]; switch(line) { case 0: putchar(value); if(value == '\n') line = 1; break; case 1: if(value == '\n') { putchar('\n'); line = 2; break; } RandIfExtra(value, bases); break; case 2: putchar(value); if(value == '\n') line = 3; break; case 3: putchar(value); if(value == '\n') line = 0; break; } } RemoveBuffer(Buffer); return EXIT_SUCCESS; }
//---------------------------------------------------------------- CSlideBuf2::~CSlideBuf2(){ RemoveBuffer(); DeleteCriticalSection( &m_CriticalSection ); }
/* * This application converts a amino acid sequence to a group sequence. */ int main(int argc, char *argv[]) { int64_t streamSize, index; char value; BUF *Buffer; char *programName = argv[0]; struct argparse_option options[] = { OPT_HELP(), OPT_GROUP("Basic options"), OPT_BUFF('<', "input.prot", "Input amino acid sequence file (stdin)"), OPT_BUFF('>', "output.group", "Output group sequence file (stdout)"), OPT_END(), }; struct argparse argparse; char usage[500] = "\nExample: "; strcat(usage, programName); strcat(usage, " < input.prot > output.group\n"); strcat(usage, "Table:\n"); strcat(usage, "Prot\tGroup\n"); strcat(usage, "R\tP\n"); strcat(usage, "H\tP Amino acids with electric charged side chains: POSITIVE\n"); strcat(usage, "K\tP\n"); strcat(usage, "-\t-\n"); strcat(usage, "D\tN\n"); strcat(usage, "E\tN Amino acids with electric charged side chains: NEGATIVE\n"); strcat(usage, "-\t-\n"); strcat(usage, "S\tU\n"); strcat(usage, "T\tU\n"); strcat(usage, "N\tU Amino acids with electric UNCHARGED side chains\n"); strcat(usage, "Q\tU\n"); strcat(usage, "-\t-\n"); strcat(usage, "C\tS\n"); strcat(usage, "U\tS\n"); strcat(usage, "G\tS Special cases\n"); strcat(usage, "P\tS\n"); strcat(usage, "-\t-\n"); strcat(usage, "A\tH\n"); strcat(usage, "V\tH\n"); strcat(usage, "I\tH\n"); strcat(usage, "L\tH\n"); strcat(usage, "M\tH Amino acids with hydrophobic side chains\n"); strcat(usage, "F\tH\n"); strcat(usage, "Y\tH\n"); strcat(usage, "W\tH\n"); strcat(usage, "-\t-\n"); strcat(usage, "*\t* Others\n"); strcat(usage, "X\tX Unknown\n"); argparse_init(&argparse, options, NULL, programName, 0); argparse_describe(&argparse, "\nIt converts a amino acid sequence to a group sequence.", usage); argc = argparse_parse(&argparse, argc, argv); if(argc != 0) argparse_help_cb(&argparse, options); Buffer = CreateBuffer(BUF_SIZE); while((streamSize = fread(Buffer->buf, 1, Buffer->size, stdin))) { for(index = 0 ; index < streamSize ; ++index) { value = Buffer->buf[index]; switch(value) { case 'R': putchar('P'); break; case 'H': putchar('P'); break; case 'K': putchar('P'); break; case 'D': putchar('N'); break; case 'E': putchar('N'); break; case 'S': putchar('U'); break; case 'T': putchar('U'); break; case 'N': putchar('U'); break; case 'Q': putchar('U'); break; case 'C': putchar('S'); break; case 'U': putchar('S'); break; case 'G': putchar('S'); break; case 'P': putchar('S'); break; case 'A': putchar('H'); break; case 'V': putchar('H'); break; case 'I': putchar('H'); break; case 'L': putchar('H'); break; case 'M': putchar('H'); break; case 'F': putchar('H'); break; case 'Y': putchar('H'); break; case 'W': putchar('H'); break; case '*': putchar('*'); break; case 'X': putchar('X'); break; } } } RemoveBuffer(Buffer); return EXIT_SUCCESS; }
int AudioHandlerAl::AddBuffer(const std::string& resource) { ALenum error = AL_NO_ERROR; AudioBufferInfo buffer_info; // Create some OpenAL Buffer Objects alGenBuffers(1, &buffer_info.buffer); if ((error = alGetError()) != AL_NO_ERROR) { fprintf(stderr, "Error(%x) generating buffer for %s\n", error, resource.c_str()); return -1; } ALenum format; ALsizei size; ALsizei freq; void* data = GetAlAudioData(resource, size, format, freq); if (NULL == data) { fprintf(stderr, "Failed to get audio data for %s\n", resource.c_str()); return -1; } // use the static buffer data API //alBufferDataStaticProc(buffer_info.buffer, format, data, size, freq); alBufferData(buffer_info.buffer, format, data, size, freq); free(data); if ((error = alGetError()) != AL_NO_ERROR) { fprintf(stderr, "Error(%x) attaching audio to buffer for %s\n", error, resource.c_str()); return -1; } int i = 0; for (; i < buffers_.size(); ++i) { if (buffers_[i].reference_count == 0) { if (buffers_[i].buffer != 0) RemoveBuffer(i); buffers_[i] = buffer_info; #ifdef AUDIO_LOG fprintf(stdout, "AddBuffer replace buffer %d\n", i); #endif break; } } if (i == buffers_.size()) { buffers_.push_back(buffer_info); #ifdef AUDIO_LOG fprintf(stdout, "AddBuffer push back buffer %d\n", i); #endif } buffer_resource_map_.insert(std::make_pair(resource, i)); #ifdef AUDIO_LOG fprintf(stdout, "AddBuffer to map %s -> %d\n", resource.c_str(), i); #endif return i; }