/[svn]/gigedit/trunk/src/gigedit/mainwindow.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/mainwindow.cpp

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

revision 3737 by schoenebeck, Sat Feb 1 20:39:39 2020 UTC revision 3750 by schoenebeck, Mon Feb 17 16:04:49 2020 UTC
# Line 1572  MainWindow::MainWindow() : Line 1572  MainWindow::MainWindow() :
1572              }              }
1573          }          }
1574      );      );
1575        dimreg_edit.scriptVars.signal_edit_script.connect(
1576            [this](gig::Script* script) {
1577                editScript(script);
1578            }
1579        );
1580    
1581      m_RegionChooser.signal_instrument_struct_to_be_changed().connect(      m_RegionChooser.signal_instrument_struct_to_be_changed().connect(
1582          sigc::hide(          sigc::hide(
# Line 3752  void MainWindow::onScriptSlotsModified(g Line 3757  void MainWindow::onScriptSlotsModified(g
3757    
3758      // causes the sampler to reload the instrument with the new script      // causes the sampler to reload the instrument with the new script
3759      on_sel_change();      on_sel_change();
3760    
3761        // force script 'patch' variables editor ("Script" tab) to be refreshed
3762        dimreg_edit.scriptVars.setInstrument(pInstrument, true/*force update*/);
3763  }  }
3764    
3765  void MainWindow::assignScript(gig::Script* pScript) {  void MainWindow::assignScript(gig::Script* pScript) {
# Line 4553  void MainWindow::on_action_edit_script() Line 4561  void MainWindow::on_action_edit_script()
4561      if (!it) return;      if (!it) return;
4562      Gtk::TreeModel::Row row = *it;      Gtk::TreeModel::Row row = *it;
4563      gig::Script* script = row[m_ScriptsModel.m_col_script];      gig::Script* script = row[m_ScriptsModel.m_col_script];
4564      if (!script) return;      editScript(script);
4565    }
4566    
4567    void MainWindow::editScript(gig::Script* script) {
4568        if (!script) return;
4569      ScriptEditor* editor = new ScriptEditor;      ScriptEditor* editor = new ScriptEditor;
4570      editor->signal_script_to_be_changed.connect(      editor->signal_script_to_be_changed.connect(
4571          signal_script_to_be_changed.make_slot()          signal_script_to_be_changed.make_slot()
4572      );      );
4573      editor->signal_script_changed.connect(      editor->signal_script_changed.connect([this](gig::Script* script) {
4574          signal_script_changed.make_slot()          // signal to sampler (which will reload the script due to this)
4575      );          signal_script_changed.emit(script);
4576            // force script 'patch' variables editor ("Script" tab) to be refreshed
4577            gig::Instrument* instr = get_instrument();
4578            dimreg_edit.scriptVars.setInstrument(instr, true/*force update*/);
4579        });
4580      editor->setScript(script);      editor->setScript(script);
4581      //editor->reparent(*this);      //editor->reparent(*this);
4582      editor->show();      editor->show();
# Line 5325  void MainWindow::script_double_clicked(c Line 5340  void MainWindow::script_double_clicked(c
5340      if (!iter) return;      if (!iter) return;
5341      Gtk::TreeModel::Row row = *iter;      Gtk::TreeModel::Row row = *iter;
5342      gig::Script* script = row[m_ScriptsModel.m_col_script];      gig::Script* script = row[m_ScriptsModel.m_col_script];
5343      if (!script) return;      editScript(script);
   
     ScriptEditor* editor = new ScriptEditor;  
     editor->signal_script_to_be_changed.connect(  
         signal_script_to_be_changed.make_slot()  
     );  
     editor->signal_script_changed.connect(  
         signal_script_changed.make_slot()  
     );  
     editor->setScript(script);  
     //editor->reparent(*this);  
     editor->show();  
5344  }  }
5345    
5346  void MainWindow::instrument_name_changed(const Gtk::TreeModel::Path& path,  void MainWindow::instrument_name_changed(const Gtk::TreeModel::Path& path,

Legend:
Removed from v.3737  
changed lines
  Added in v.3750

  ViewVC Help
Powered by ViewVC