/[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 145 by capela, Thu Jun 24 18:26:57 2004 UTC revision 255 by capela, Tue Sep 28 16:17:43 2004 UTC
# Line 54  Line 54 
54  #define QSAMPLER_STATUS_SESSION 3       // Current session modification state.  #define QSAMPLER_STATUS_SESSION 3       // Current session modification state.
55    
56    
57    // All winsock apps needs this.
58  #if defined(WIN32)  #if defined(WIN32)
59  static WSADATA _wsaData;  static WSADATA _wsaData;
60  #endif  #endif
61    
62    
63    //-------------------------------------------------------------------------
64    // qsamplerCustomEvent -- specialty for callback comunication.
65    
66    #define QSAMPLER_CUSTOM_EVENT   1000
67    
68    class qsamplerCustomEvent : public QCustomEvent
69    {
70    public:
71    
72        // Constructor.
73        qsamplerCustomEvent(lscp_event_t event, const char *pchData, int cchData)
74            : QCustomEvent(QSAMPLER_CUSTOM_EVENT)
75        {
76            m_event = event;
77            m_data.setLatin1(pchData, cchData);
78        }
79    
80        // Accessors.
81        lscp_event_t event() { return m_event; }
82        QString&     data()  { return m_data;  }
83    
84    private:
85    
86        // The proper event type.
87        lscp_event_t m_event;
88        // The event data as a string.
89        QString      m_data;
90    };
91    
92    
93  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
94  // qsamplerMainForm -- Main window form implementation.  // qsamplerMainForm -- Main window form implementation.
95    
# Line 277  void qsamplerMainForm::dropEvent ( QDrop Line 309  void qsamplerMainForm::dropEvent ( QDrop
309  }  }
310    
311    
312    // Custome event handler.
313    void qsamplerMainForm::customEvent ( QCustomEvent *pCustomEvent )
314    {
315        // For the time being, just pump it to messages.
316        if (pCustomEvent->type() == QSAMPLER_CUSTOM_EVENT) {
317            qsamplerCustomEvent *pEvent = (qsamplerCustomEvent *) pCustomEvent;
318            appendMessagesColor(tr("Notify event: %1 data: %2")
319                .arg(::lscp_event_to_text(pEvent->event()))
320                .arg(pEvent->data()), "#996699");
321        }
322    }
323    
324    
325  // Context menu event handler.  // Context menu event handler.
326  void qsamplerMainForm::contextMenuEvent( QContextMenuEvent *pEvent )  void qsamplerMainForm::contextMenuEvent( QContextMenuEvent *pEvent )
327  {  {
# Line 556  bool qsamplerMainForm::saveSessionFile ( Line 601  bool qsamplerMainForm::saveSessionFile (
601          ts << "ADD CHANNEL" << endl;          ts << "ADD CHANNEL" << endl;
602          ts << "SET CHANNEL AUDIO_OUTPUT_TYPE " << iChannelID << " " << pChannel->audioDriver() << endl;          ts << "SET CHANNEL AUDIO_OUTPUT_TYPE " << iChannelID << " " << pChannel->audioDriver() << endl;
603          ts << "SET CHANNEL MIDI_INPUT_TYPE " << iChannelID << " " << pChannel->midiDriver() << endl;          ts << "SET CHANNEL MIDI_INPUT_TYPE " << iChannelID << " " << pChannel->midiDriver() << endl;
604      //  ts << "SET CHANNEL MIDI_INPUT_PORT " << iChannelID << " " << pChannel->midiPort() << endl;          ts << "SET CHANNEL MIDI_INPUT_PORT " << iChannelID << " " << pChannel->midiPort() << endl;
605          ts << "SET CHANNEL MIDI_INPUT_CHANNEL " << iChannelID << " " << pChannel->midiChannel() << endl;          ts << "SET CHANNEL MIDI_INPUT_CHANNEL " << iChannelID << " ";
606            if (pChannel->midiChannel() > 0)
607                ts << pChannel->midiChannel();
608             else
609                ts << "ALL";
610            ts << endl;
611          ts << "LOAD ENGINE " << pChannel->engineName() << " " << iChannelID << endl;          ts << "LOAD ENGINE " << pChannel->engineName() << " " << iChannelID << endl;
612          ts << "LOAD INSTRUMENT NON_MODAL " << pChannel->instrumentFile() << " " << pChannel->instrumentNr() << " " << iChannelID << endl;          ts << "LOAD INSTRUMENT NON_MODAL '" << pChannel->instrumentFile() << "' " << pChannel->instrumentNr() << " " << iChannelID << endl;
613          ts << "SET CHANNEL VOLUME " << iChannelID << " " << pChannel->volume() << endl;          ts << "SET CHANNEL VOLUME " << iChannelID << " " << pChannel->volume() << endl;
614          ts << endl;          ts << endl;
615          // Try to keep it snappy :)          // Try to keep it snappy :)
# Line 633  void qsamplerMainForm::fileSaveAs (void) Line 683  void qsamplerMainForm::fileSaveAs (void)
683  }  }
684    
685    
686    // Reset the sampler instance.
687    void qsamplerMainForm::fileReset (void)
688    {
689        if (m_pClient == NULL)
690            return;
691    
692        // Ask user whether he/she want's an internal sampler reset...
693        if (QMessageBox::warning(this, tr("Warning"),
694            tr("Resetting the sampler instance will close\n"
695               "all device and channel configurations.\n\n"
696               "Please note that this operation may cause\n"
697               "temporary MIDI and Audio disruption\n\n"
698               "Do you want to reset the sampler engine now?"),
699            tr("Reset"), tr("Cancel")) > 0)
700            return;
701    
702        // Just do the reset, after closing down current session...
703        if (closeSession(true) && ::lscp_reset_sampler(m_pClient) != LSCP_OK)
704            appendMessagesClient("lscp_reset_sampler");
705    }
706    
707    
708  // Restart the client/server instance.  // Restart the client/server instance.
709  void qsamplerMainForm::fileRestart (void)  void qsamplerMainForm::fileRestart (void)
710  {  {
# Line 755  void qsamplerMainForm::editSetupChannel Line 827  void qsamplerMainForm::editSetupChannel
827          return;          return;
828    
829      // Just invoque the channel strip procedure.      // Just invoque the channel strip procedure.
830      pChannel->channelSetup();      pChannel->channelSetup(false);
831  }  }
832    
833    
# Line 979  void qsamplerMainForm::helpAbout (void) Line 1051  void qsamplerMainForm::helpAbout (void)
1051      sText += tr("Debugging option enabled.");      sText += tr("Debugging option enabled.");
1052      sText += "</font></small><br />";      sText += "</font></small><br />";
1053  #endif  #endif
1054    #ifndef CONFIG_LIBGIG
1055        sText += "<small><font color=\"red\">";
1056        sText += tr("GIG (libgig) file support disabled.");
1057        sText += "</font></small><br />";
1058    #endif
1059      sText += "<br />\n";      sText += "<br />\n";
1060      sText += tr("Using") + ": ";      sText += tr("Using") + ": ";
1061      sText += ::lscp_client_package();      sText += ::lscp_client_package();
# Line 1019  void qsamplerMainForm::stabilizeForm (vo Line 1096  void qsamplerMainForm::stabilizeForm (vo
1096      fileOpenAction->setEnabled(bHasClient);      fileOpenAction->setEnabled(bHasClient);
1097      fileSaveAction->setEnabled(bHasClient && m_iDirtyCount > 0);      fileSaveAction->setEnabled(bHasClient && m_iDirtyCount > 0);
1098      fileSaveAsAction->setEnabled(bHasClient);      fileSaveAsAction->setEnabled(bHasClient);
1099        fileResetAction->setEnabled(bHasClient);
1100      fileRestartAction->setEnabled(bHasClient || m_pServer == NULL);      fileRestartAction->setEnabled(bHasClient || m_pServer == NULL);
1101      editAddChannelAction->setEnabled(bHasClient);      editAddChannelAction->setEnabled(bHasClient);
1102      editRemoveChannelAction->setEnabled(bHasChannel);      editRemoveChannelAction->setEnabled(bHasChannel);
# Line 1281  void qsamplerMainForm::createChannel ( i Line 1359  void qsamplerMainForm::createChannel ( i
1359      // Before we show it up, may be we'll      // Before we show it up, may be we'll
1360      // better ask for some initial values?      // better ask for some initial values?
1361      if (bPrompt)      if (bPrompt)
1362          pChannel->channelSetup();                pChannel->channelSetup(true);
1363      // Now we show up us to the world.      // Now we show up us to the world.
1364      pChannel->show();      pChannel->show();
1365      // Only then, we'll auto-arrange...      // Only then, we'll auto-arrange...
# Line 1523  void qsamplerMainForm::processServerExit Line 1601  void qsamplerMainForm::processServerExit
1601  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
1602  // qsamplerMainForm -- Client stuff.  // qsamplerMainForm -- Client stuff.
1603    
   
1604  // The LSCP client callback procedure.  // The LSCP client callback procedure.
1605  lscp_status_t qsampler_client_callback ( lscp_client_t */*pClient*/, lscp_event_t /*event*/, const char */*pchBuffer*/, int /*cchBuffer*/, void */*pvData*/ )  lscp_status_t qsampler_client_callback ( lscp_client_t */*pClient*/, lscp_event_t event, const char *pchData, int cchData, void *pvData )
1606  {  {
1607      // FIXME: DO NOT EVER call any GUI code here,      qsamplerMainForm *pMainForm = (qsamplerMainForm *) pvData;
1608        if (pMainForm == NULL)
1609            return LSCP_FAILED;
1610    
1611        // ATTN: DO NOT EVER call any GUI code here,
1612      // as this is run under some other thread context.      // as this is run under some other thread context.
1613      // A custom event must be posted here...      // A custom event must be posted here...
1614      //      QApplication::postEvent(pMainForm, new qsamplerCustomEvent(event, pchData, cchData));
     // QApplication::postEvent((qjackctlMainForm *) pvData, new QCustomEvent(...));  
1615    
1616      return LSCP_OK;      return LSCP_OK;
1617  }  }

Legend:
Removed from v.145  
changed lines
  Added in v.255

  ViewVC Help
Powered by ViewVC