/[svn]/qsampler/trunk/src/qsamplerMainForm.ui.h
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerMainForm.ui.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 456 by capela, Mon Mar 14 14:02:30 2005 UTC revision 470 by capela, Wed Mar 16 22:07:14 2005 UTC
# Line 598  bool qsamplerMainForm::loadSessionFile ( Line 598  bool qsamplerMainForm::loadSessionFile (
598              if (::lscp_client_query(m_pClient, sCommand.latin1()) != LSCP_OK) {              if (::lscp_client_query(m_pClient, sCommand.latin1()) != LSCP_OK) {
599                  appendMessagesClient("lscp_client_query");                  appendMessagesClient("lscp_client_query");
600                  iErrors++;                  iErrors++;
                 break;  
601              }              }
602          }          }
603          // Try to make it snappy :)          // Try to make it snappy :)
# Line 608  bool qsamplerMainForm::loadSessionFile ( Line 607  bool qsamplerMainForm::loadSessionFile (
607      // Ok. we've read it.      // Ok. we've read it.
608      file.close();      file.close();
609    
     // Have we any errors?  
     if (iErrors > 0)  
         appendMessagesError(tr("Session could not be loaded\nfrom \"%1\".\n\nSorry.").arg(sFilename));  
   
610          // Now we'll try to create (update) the whole GUI session.          // Now we'll try to create (update) the whole GUI session.
611          updateSession();          updateSession();
612    
613            // Have we any errors?
614            if (iErrors > 0)
615                    appendMessagesError(tr("Session loaded with errors\nfrom \"%1\".\n\nSorry.").arg(sFilename));
616    
617      // Save as default session directory.      // Save as default session directory.
618      if (m_pOptions)      if (m_pOptions)
619          m_pOptions->sSessionDir = QFileInfo(sFilename).dirPath(true);          m_pOptions->sSessionDir = QFileInfo(sFilename).dirPath(true);
620      // We're not dirty anymore.          // We're not dirty anymore, if loaded without errors,
621      m_iDirtyCount = 0;          m_iDirtyCount = iErrors;
622      // Stabilize form...      // Stabilize form...
623      m_sFilename = sFilename;      m_sFilename = sFilename;
624      updateRecentFiles(sFilename);      updateRecentFiles(sFilename);
# Line 666  bool qsamplerMainForm::saveSessionFile ( Line 665  bool qsamplerMainForm::saveSessionFile (
665          QMap<int, int> audioDeviceMap;          QMap<int, int> audioDeviceMap;
666          piDeviceIDs = qsamplerDevice::getDevices(m_pClient, qsamplerDevice::Audio);          piDeviceIDs = qsamplerDevice::getDevices(m_pClient, qsamplerDevice::Audio);
667          for (iDevice = 0; piDeviceIDs && piDeviceIDs[iDevice] >= 0; iDevice++) {          for (iDevice = 0; piDeviceIDs && piDeviceIDs[iDevice] >= 0; iDevice++) {
                 qsamplerDevice device(m_pClient, qsamplerDevice::Audio, piDeviceIDs[iDevice]);  
668                  ts << endl;                  ts << endl;
669          ts << "# " << device.deviceTypeName() << " " << device.driverName()                  qsamplerDevice device(m_pClient, qsamplerDevice::Audio, piDeviceIDs[iDevice]);
670                    // Audio device specification...
671                    ts << "# " << device.deviceTypeName() << " " << device.driverName()
672                     << " " << tr("Device") << " " << iDevice << endl;                     << " " << tr("Device") << " " << iDevice << endl;
673                  ts << "CREATE AUDIO_OUTPUT_DEVICE " << device.driverName();                  ts << "CREATE AUDIO_OUTPUT_DEVICE " << device.driverName();
674                  qsamplerDeviceParamMap& params = device.params();                  qsamplerDeviceParamMap::ConstIterator deviceParam;
675                  qsamplerDeviceParamMap::ConstIterator iter;                  for (deviceParam = device.params().begin();
676                  for (iter = params.begin(); iter != params.end(); ++iter)                                  deviceParam != device.params().end();
677                          ts << " " << iter.key() << "='" << iter.data().value << "'";                                          ++deviceParam) {
678                            const qsamplerDeviceParam& param = deviceParam.data();
679                            if (!param.fix && !param.value.isEmpty())
680                                    ts << " " << deviceParam.key() << "='" << param.value << "'";
681                    }
682                  ts << endl;                  ts << endl;
683                    // Audio channel parameters...
684                    int iPort = 0;
685                    for (qsamplerDevicePort *pPort = device.ports().first();
686                                    pPort;
687                                            pPort = device.ports().next(), ++iPort) {
688                            qsamplerDeviceParamMap::ConstIterator portParam;
689                            for (portParam = pPort->params().begin();
690                                            portParam != pPort->params().end();
691                                                    ++portParam) {
692                                    const qsamplerDeviceParam& param = portParam.data();
693                                    if (!param.fix && !param.value.isEmpty()) {
694                                            ts << "SET AUDIO_OUTPUT_CHANNEL_PARAMETER " << iDevice
695                                               << " " << iPort << " " << portParam.key()
696                                               << "='" << param.value << "'" << endl;
697                                    }
698                            }
699                    }
700                    // Audio device index/id mapping.
701                  audioDeviceMap[device.deviceID()] = iDevice;                  audioDeviceMap[device.deviceID()] = iDevice;
702          // Try to keep it snappy :)          // Try to keep it snappy :)
703          QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);          QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
# Line 684  bool qsamplerMainForm::saveSessionFile ( Line 706  bool qsamplerMainForm::saveSessionFile (
706          QMap<int, int> midiDeviceMap;          QMap<int, int> midiDeviceMap;
707          piDeviceIDs = qsamplerDevice::getDevices(m_pClient, qsamplerDevice::Midi);          piDeviceIDs = qsamplerDevice::getDevices(m_pClient, qsamplerDevice::Midi);
708          for (iDevice = 0; piDeviceIDs && piDeviceIDs[iDevice] >= 0; iDevice++) {          for (iDevice = 0; piDeviceIDs && piDeviceIDs[iDevice] >= 0; iDevice++) {
                 qsamplerDevice device(m_pClient, qsamplerDevice::Midi, piDeviceIDs[iDevice]);  
709                  ts << endl;                  ts << endl;
710                    qsamplerDevice device(m_pClient, qsamplerDevice::Midi, piDeviceIDs[iDevice]);
711                    // MIDI device specification...
712          ts << "# " << device.deviceTypeName() << " " << device.driverName()          ts << "# " << device.deviceTypeName() << " " << device.driverName()
713                     << " " << tr("Device") << " " << iDevice << endl;                     << " " << tr("Device") << " " << iDevice << endl;
714                  ts << "CREATE MIDI_INPUT_DEVICE " << device.driverName();                  ts << "CREATE MIDI_INPUT_DEVICE " << device.driverName();
715                  qsamplerDeviceParamMap& params = device.params();                  qsamplerDeviceParamMap::ConstIterator deviceParam;
716                  qsamplerDeviceParamMap::ConstIterator iter;                  for (deviceParam = device.params().begin();
717                  for (iter = params.begin(); iter != params.end(); ++iter)                                  deviceParam != device.params().end();
718                          ts << " " << iter.key() << "='" << iter.data().value << "'";                                          ++deviceParam) {
719                            const qsamplerDeviceParam& param = deviceParam.data();
720                            if (!param.fix && !param.value.isEmpty())
721                                    ts << " " << deviceParam.key() << "='" << param.value << "'";
722                    }
723                  ts << endl;                  ts << endl;
724                    // MIDI port parameters...
725                    int iPort = 0;
726                    for (qsamplerDevicePort *pPort = device.ports().first();
727                                    pPort;
728                                            pPort = device.ports().next(), ++iPort) {
729                            qsamplerDeviceParamMap::ConstIterator portParam;
730                            for (portParam = pPort->params().begin();
731                                            portParam != pPort->params().end();
732                                                    ++portParam) {
733                                    const qsamplerDeviceParam& param = portParam.data();
734                                    if (!param.fix && !param.value.isEmpty()) {
735                                            ts << "SET MIDI_INPUT_CHANNEL_PARAMETER " << iDevice
736                                               << " " << iPort << " " << portParam.key()
737                                               << "='" << param.value << "'" << endl;
738                                    }
739                            }
740                    }
741                    // MIDI device index/id mapping.
742                  midiDeviceMap[device.deviceID()] = iDevice;                  midiDeviceMap[device.deviceID()] = iDevice;
743          // Try to keep it snappy :)          // Try to keep it snappy :)
744          QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);          QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
# Line 1363  void qsamplerMainForm::updateSession (vo Line 1408  void qsamplerMainForm::updateSession (vo
1408                  QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);                  QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
1409          }          }
1410          m_pWorkspace->setUpdatesEnabled(true);          m_pWorkspace->setUpdatesEnabled(true);
1411            
1412            // Remember to refresh devices
1413            if (m_pDeviceForm)
1414                m_pDeviceForm->refreshDevices();
1415  }  }
1416    
1417    

Legend:
Removed from v.456  
changed lines
  Added in v.470

  ViewVC Help
Powered by ViewVC