void k9astTitles::loadPlayer() { k9Config config; m_useXine=config.getUseXine(); m_usePhonon=config.getUsePhonon(); m_useMplayer=config.getUseMplayer(); if (m_preview) { delete m_preview; delete m_layout; } if (m_useXine) { #ifndef BACKLITE m_preview=new k9xine(Ui_astTitles.wPreview); #endif } else if (m_usePhonon) { m_preview=new k9Phonon(Ui_astTitles.wPreview); } else if (m_useMplayer) m_preview=new K9Mplayer(Ui_astTitles.wPreview); else m_preview=new kViewMPEG2(Ui_astTitles.wPreview); connect(this,SIGNAL(sigshowPreview( k9DVD*, k9DVDTitle*,int )),m_preview,SLOT(open( k9DVD*, k9DVDTitle*,int ))); connect(this,SIGNAL(sigstopPreview()),m_preview,SLOT(bStopClick())); m_layout=new QGridLayout(Ui_astTitles.wPreview); m_layout->addWidget(m_preview,0,0); m_preview->show(); }
//=========================================================================== void __fastcall TfrmMain::FormCloseQuery(TObject *Sender, bool &CanClose) { if ( bStop->Enabled == true ) { bStopClick(Sender); Sleep(100); } CanClose = true; }
void __fastcall Tform_Main::NewWndProc(TMessage &Msg) { // ----- Update event ----- if ( Msg.Msg == MESSAGE_STOP_DEVICE && isStoped == false ) { bStopClick(NULL); } // WndProc(Msg); }
//=========================================================================== void __fastcall TfrmMain::Idle(System::TObject* Sender, bool &Done) { // ----- Если Пришли новые данные, тогда отрисовка ------- if ( BChart != NULL && CurrentWorkDevice != NULL ) { if ( CurrentWorkDevice->isDataReady == true ) { //if (CurrentWorkDevice->DataCounter >= CurrentWorkDevice->WorkTime * CurrentWorkDevice->AcpCanalFreq * CurrentWorkDevice->BaseCanalCountBeforeMath ) if (CurrentWorkDevice->DataCounter >= CurrentWorkDevice->WorkTime * CurrentWorkDevice->AcpCanalFreq * CurrentWorkDevice->Canals->ItemsCount ) { bStopClick(Sender); } BChart->DrawSeriesValues(); // ----- Авторазмещение кривых по вертикальной оси ---- if ( ifAutoPositionInit == false && CurrentWorkDevice->Canals->Items[0]->gr_ValuesCount > 40 ) { bAutoPositionClick(Sender); ifAutoPositionInit = true; } CurrentWorkDevice->isDataReady = false; DrawFPS = DrawFPS + 1; // -------------- QueryPerformanceCounter(&qPerfCounter2); if ( qPerfCounter2.QuadPart - qPerfCounter1.QuadPart >= qPerfFreq.QuadPart ) { mConsole->Lines->BeginUpdate(); mConsole->Lines->Clear(); mConsole->Lines->Add("DrawFPS = " + IntToStr(DrawFPS)); mConsole->Lines->Add("IrqCounter = " + IntToStr(CurrentWorkDevice->DataCounter)); mConsole->Lines->EndUpdate(); qPerfCounter1 = qPerfCounter2; DrawFPS = 0; } } } // -------------- Done = false; }
//=========================================================================== void __fastcall TfrmMain::miDataOpenClick(TObject *Sender) { OpenDialog1->FileName = ProjectFileName; if ( OpenDialog1->Execute() == false ) return; FILE *h_file = fopen(OpenDialog1->FileName.c_str(), "rb"); ProjectFileName = OpenDialog1->FileName; SetCaption(); // --------------- CurrentWorkDevice = DemoADC; BChart->BaseADC = CurrentWorkDevice; // --------------- int grVolt = -1; int grTime = -1; double Freq = -1; int CanalsCount = -1; char CanalName[255]; short int *vals = NULL; double gr_YOffset = -1; int gr_Color = -1; bool gr_Checked = false; double Scale = -1; int DataCount = -1; fread(&grVolt , sizeof(int ), 1, h_file); // fread(&grTime , sizeof(int ), 1, h_file); // fread(&Freq , sizeof(double), 1, h_file); // fread(&CanalsCount, sizeof(int ), 1, h_file); DemoADC->AcpCanalFreq = Freq; DemoADC->Canals->SetItemsCount(CanalsCount); //DemoADC->BaseCanalCountBeforeMath = CanalsCount; DemoADC->InitializateCanals(CanalsCount); //BChart->Canals = CurrentWorkDevice->Canals; for ( int i = 0; i < CanalsCount; i++ ) { fread(&gr_YOffset , sizeof(double), 1, h_file); fread(&gr_Color , sizeof(int ), 1, h_file); fread(&gr_Checked , sizeof(bool ), 1, h_file); fread(&Scale , sizeof(double), 1, h_file); fread( CanalName , sizeof(char) * 100, 1, h_file); fread(&DataCount , sizeof(int ), 1, h_file); // unsigned int vals = (short int*) malloc(sizeof(short int) * DataCount ); fread(vals, sizeof(short int)*DataCount, 1, h_file); DemoADC->Canals->Items[i]->gr_YOffset = gr_YOffset; DemoADC->Canals->Items[i]->gr_Color = (TColor)gr_Color; DemoADC->Canals->Items[i]->gr_Checked = gr_Checked; DemoADC->Canals->Items[i]->gr_YVoltTransformCoef = Scale; DemoADC->Canals->Items[i]->ValueT0 = 1 / (double)Freq; DemoADC->Canals->Items[i]->AddArray(vals, DataCount); DemoADC->Canals->Items[i]->SetName(CanalName); free (vals); } fclose(h_file); // --------------- DemoADC->DataCounter = DataCount; BChart->VoltScalesIndex = grVolt; BChart->TimeScalesIndex = grTime; SetInterfaceParam(); rgVoltScalesClick(Sender); rgTimeScalesClick(Sender); BChart->Canals = CurrentWorkDevice->Canals; bStopClick(Sender); }