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

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

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

revision 2720 by schoenebeck, Sun Mar 1 15:43:42 2015 UTC revision 2926 by schoenebeck, Sun Jun 5 14:33:58 2016 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2006-2015 Andreas Persson   * Copyright (C) 2006-2016 Andreas Persson
3   *   *
4   * This program is free software; you can redistribute it and/or   * This program is free software; you can redistribute it and/or
5   * modify it under the terms of the GNU General Public License as   * modify it under the terms of the GNU General Public License as
# Line 244  DimRegionEdit::DimRegionEdit() : Line 244  DimRegionEdit::DimRegionEdit() :
244      buttonSelectSample(UNICODE_LEFT_ARROW + "  " + _("Select Sample")),      buttonSelectSample(UNICODE_LEFT_ARROW + "  " + _("Select Sample")),
245      update_model(0)      update_model(0)
246  {  {
247        // make synthesis parameter page tabs scrollable
248        // (workaround for GTK3: default theme uses huge tabs which breaks layout)
249        set_scrollable();
250    
251      connect(eEG1PreAttack, &gig::DimensionRegion::EG1PreAttack);      connect(eEG1PreAttack, &gig::DimensionRegion::EG1PreAttack);
252      connect(eEG1Attack, &gig::DimensionRegion::EG1Attack);      connect(eEG1Attack, &gig::DimensionRegion::EG1Attack);
253      connect(eEG1Decay1, &gig::DimensionRegion::EG1Decay1);      connect(eEG1Decay1, &gig::DimensionRegion::EG1Decay1);
# Line 1290  void DimRegionEdit::loop_infinite_toggle Line 1294  void DimRegionEdit::loop_infinite_toggle
1294    
1295  bool DimRegionEdit::set_sample(gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop)  bool DimRegionEdit::set_sample(gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop)
1296  {  {
1297      if (dimregion) {      for (std::set<gig::DimensionRegion*>::iterator itDimReg = dimregs.begin();
1298             itDimReg != dimregs.end(); ++itDimReg)
1299        {
1300            set_sample(*itDimReg, sample, copy_sample_unity, copy_sample_tune, copy_sample_loop);
1301        }
1302    }
1303    
1304    bool DimRegionEdit::set_sample(gig::DimensionRegion* dimreg, gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop)
1305    {
1306        if (dimreg) {
1307          //TODO: we should better move the code from MainWindow::on_sample_label_drop_drag_data_received() here          //TODO: we should better move the code from MainWindow::on_sample_label_drop_drag_data_received() here
1308    
1309          // currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received()          // currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received()
# Line 1299  bool DimRegionEdit::set_sample(gig::Samp Line 1312  bool DimRegionEdit::set_sample(gig::Samp
1312          // make sure stereo samples always are the same in both          // make sure stereo samples always are the same in both
1313          // dimregs in the samplechannel dimension          // dimregs in the samplechannel dimension
1314          int nbDimregs = 1;          int nbDimregs = 1;
1315          gig::DimensionRegion* d[2] = { dimregion, 0 };          gig::DimensionRegion* d[2] = { dimreg, 0 };
1316          if (sample->Channels == 2) {          if (sample->Channels == 2) {
1317              gig::Region* region = dimregion->GetParent();              gig::Region* region = dimreg->GetParent();
1318    
1319              int bitcount = 0;              int bitcount = 0;
1320              int stereo_bit = 0;              int stereo_bit = 0;
# Line 1316  bool DimRegionEdit::set_sample(gig::Samp Line 1329  bool DimRegionEdit::set_sample(gig::Samp
1329              if (stereo_bit) {              if (stereo_bit) {
1330                  int dimregno;                  int dimregno;
1331                  for (dimregno = 0 ; dimregno < region->DimensionRegions ; dimregno++) {                  for (dimregno = 0 ; dimregno < region->DimensionRegions ; dimregno++) {
1332                      if (region->pDimensionRegions[dimregno] == dimregion) {                      if (region->pDimensionRegions[dimregno] == dimreg) {
1333                          break;                          break;
1334                      }                      }
1335                  }                  }
# Line 1326  bool DimRegionEdit::set_sample(gig::Samp Line 1339  bool DimRegionEdit::set_sample(gig::Samp
1339              }              }
1340          }          }
1341    
1342          gig::Sample* oldref = dimregion->pSample;          gig::Sample* oldref = dimreg->pSample;
1343    
1344          for (int i = 0 ; i < nbDimregs ; i++) {          for (int i = 0 ; i < nbDimregs ; i++) {
1345              d[i]->pSample = sample;              d[i]->pSample = sample;
# Line 1356  bool DimRegionEdit::set_sample(gig::Samp Line 1369  bool DimRegionEdit::set_sample(gig::Samp
1369    
1370          // update ui          // update ui
1371          update_model++;          update_model++;
1372          wSample->set_text(gig_to_utf8(dimregion->pSample->pInfo->Name));          wSample->set_text(gig_to_utf8(dimreg->pSample->pInfo->Name));
1373          eUnityNote.set_value(dimregion->UnityNote);          eUnityNote.set_value(dimreg->UnityNote);
1374          eFineTune.set_value(dimregion->FineTune);          eFineTune.set_value(dimreg->FineTune);
1375          eSampleLoopEnabled.set_value(dimregion->SampleLoops);          eSampleLoopEnabled.set_value(dimreg->SampleLoops);
1376          update_loop_elements();          update_loop_elements();
1377          update_model--;          update_model--;
1378    
1379          sample_ref_changed_signal.emit(oldref, sample);          sample_ref_changed_signal.emit(oldref, sample);
1380          // currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received()          // currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received()
1381          //dimreg_changed_signal.emit(dimregion);          //dimreg_changed_signal.emit(dimreg);
1382          return true;          return true;
1383      }      }
1384      return false;      return false;
# Line 1508  void DimRegionEdit::nullOutSampleReferen Line 1521  void DimRegionEdit::nullOutSampleReferen
1521      gig::DimensionRegion* d[2] = { dimregion, NULL };      gig::DimensionRegion* d[2] = { dimregion, NULL };
1522      if (oldref->Channels == 2) {      if (oldref->Channels == 2) {
1523          gig::Region* region = dimregion->GetParent();          gig::Region* region = dimregion->GetParent();
         int stereo_bit = 0;  
1524          {          {
1525                int stereo_bit = 0;
1526              int bitcount = 0;              int bitcount = 0;
1527              for (int dim = 0 ; dim < region->Dimensions ; dim++) {              for (int dim = 0 ; dim < region->Dimensions ; dim++) {
1528                  if (region->pDimensionDefinitions[dim].dimension == gig::dimension_samplechannel) {                  if (region->pDimensionDefinitions[dim].dimension == gig::dimension_samplechannel) {

Legend:
Removed from v.2720  
changed lines
  Added in v.2926

  ViewVC Help
Powered by ViewVC