コード例 #1
0
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();

}
コード例 #2
0
//===========================================================================
void __fastcall TfrmMain::FormCloseQuery(TObject *Sender, bool &CanClose)
{
      if ( bStop->Enabled == true ) {
         bStopClick(Sender);
         Sleep(100);
      }
      CanClose = true;
}
コード例 #3
0
ファイル: unit_main.cpp プロジェクト: Medcheg/sources_old
void __fastcall Tform_Main::NewWndProc(TMessage &Msg)
{
    // ----- Update event -----
    if ( Msg.Msg == MESSAGE_STOP_DEVICE && isStoped == false )
    {
        bStopClick(NULL);
    }                                              //
    WndProc(Msg);
}
コード例 #4
0
//===========================================================================
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;
}
コード例 #5
0
//===========================================================================
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);
}