Ejemplo n.º 1
0
void MidiTable::updateTable()
{
	if( __row_count > 0 ) {
		QComboBox * eventCombo =  dynamic_cast <QComboBox *> ( cellWidget( __row_count - 1, 1 ) );
		QComboBox * actionCombo = dynamic_cast <QComboBox *> ( cellWidget( __row_count - 1, 3 ) );

		if( eventCombo == NULL || actionCombo == NULL) return;

		if( actionCombo->currentText() != "" && eventCombo->currentText() != "" ) {
			insertNewRow("", "", 0, 0);
		}
	}
}
Ejemplo n.º 2
0
void MidiTable::setupMidiTable()
{
	MidiMap *mM = MidiMap::get_instance();

	QStringList items;
	items << "" << trUtf8("Event")  <<  trUtf8("Param.")  <<  trUtf8("Action") <<  trUtf8("Param.") ;

	setRowCount( 0 );
    	setColumnCount( 5 );

	verticalHeader()->hide();

	setHorizontalHeaderLabels( items );
    horizontalHeader()->setStretchLastSection(true);

	setColumnWidth( 0 , 25 );
	setColumnWidth( 1 , 155 );
	setColumnWidth( 2, 73 );
	setColumnWidth( 3, 175 );
	setColumnWidth( 4 , 73 );

	bool ok;
	std::map< QString , MidiAction* > mmcMap = mM->getMMCMap();
	std::map< QString , MidiAction* >::iterator dIter( mmcMap.begin() );
	
	for( dIter = mmcMap.begin(); dIter != mmcMap.end(); dIter++ ) {
		MidiAction * pAction = dIter->second;
		QString actionParameter;
		int actionParameterInteger = 0;

		actionParameter = pAction->getParameter1();
		actionParameterInteger = actionParameter.toInt(&ok,10);
		
		insertNewRow(pAction->getType() , dIter->first , 0 , actionParameterInteger );
	}

	for( int note = 0; note < 128; note++ ) {
		MidiAction * pAction = mM->getNoteAction( note );
		QString actionParameter;
		int actionParameterInteger = 0;

		actionParameter = pAction->getParameter1();
		actionParameterInteger = actionParameter.toInt(&ok,10);
		

		if ( pAction->getType() == "NOTHING" ) continue;

		insertNewRow(pAction->getType() , "NOTE" , note , actionParameterInteger );
	}

	for( int parameter = 0; parameter < 128; parameter++ ){
		MidiAction * pAction = mM->getCCAction( parameter );
		QString actionParameter;
		int actionParameterInteger = 0;

		actionParameter = pAction->getParameter1();
		actionParameterInteger = actionParameter.toInt(&ok,10);

		if ( pAction->getType() == "NOTHING" ) continue;

		insertNewRow(pAction->getType() , "CC" , parameter , actionParameterInteger );
	}

	{
		MidiAction * pAction = mM->getPCAction();
		if ( pAction->getType() != "NOTHING" ) {
			QString actionParameter = pAction->getParameter1();
			int actionParameterInteger = actionParameter.toInt(&ok,10);
			insertNewRow( pAction->getType() , "PROGRAM_CHANGE" , 0 , actionParameterInteger );
		}
	}
	
	insertNewRow( "", "", 0, 0 );
}
Ejemplo n.º 3
0
void MainWindow::on_inflatePushButton_clicked()
{


     QSqlQuery delQuery;
     delQuery.exec("delete from NormBehaviourLog");


    QString seqQuery;

    if (lv == "BATCHNORM" || lv == "BATCH")
    {
        seqQuery  = "select timestamp,sensorId,status,trainingNumber from BehaviourLog where sensorID < 61 ORDER BY trainingNumber, timestamp";
    }
    else
    {
       seqQuery  = "select timestamp,sensorId,status,trainingNumber from BehaviourLog where sensorID < 61 and timestamp between '";
       seqQuery += ui->dateFrom->dateTime().toString("yyyy-MM-dd hh:mm:ss");
       seqQuery += "' and '";
       seqQuery += ui->dateTo->dateTime().toString("yyyy-MM-dd hh:mm:ss") + "' ORDER BY timestamp";
    }
    qDebug() << seqQuery;


    query.clear();

    if (!query.exec(seqQuery))
    {
        qDebug() << seqQuery;

        QMessageBox msgBox;
        msgBox.setIcon(QMessageBox::Warning);


        msgBox.setText("Cannot select from BehaviourLog table!");
        msgBox.exec();
        return;

    }

    numRowsRead = query.numRowsAffected();
    numRowsProcessed = 0;
    numRowsInserted = 0;

    bool first = true;


    processed = false;

    currentDate = QDateTime(QDate(2000,01,01),QTime(0,0,1));

    readRow();

    while (!processed)
    {

      if (first)
      {
          first = false;
          insertNewRow(currentDate,currentSensorId,currentSensorValue,currentTrainingNumber);

       }
       else
       {

            if ((currentDate > prevDate.addSecs(1))  &&  (currentTrainingNumber == prevTrainingNumber))   // write n copies of current row 1 sec apart
            {
                int n = prevDate.time().msecsTo(currentDate.time()) / 1000;

                n--;

                QDateTime insDate = prevDate;

                for (int i=0;i<n;i++)
                {
                    insDate = insDate.addSecs(1);

                    insertNewRow(insDate,prevSensorId,prevSensorValue,prevTrainingNumber);

                }

                insertNewRow(currentDate,currentSensorId,currentSensorValue, currentTrainingNumber);


            }
            else   // same dates for two events
            {
                insertNewRow(currentDate,currentSensorId,currentSensorValue, currentTrainingNumber);
            }


         }

         readRow();

    }

    qDebug()<< "Rows read   : " << numRowsRead;
    qDebug()<< "Rows processed   : " << numRowsProcessed;
    qDebug()<< "Rows written: " << numRowsInserted;
}