/[svn]/libgig/trunk/src/gig.cpp
ViewVC logotype

Diff of /libgig/trunk/src/gig.cpp

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

revision 1851 by schoenebeck, Sun Mar 1 22:08:32 2009 UTC revision 2152 by persson, Fri Dec 17 16:51:48 2010 UTC
# Line 910  namespace { Line 910  namespace {
910                                  }                                  }
911    
912                                  // reverse the sample frames for backward playback                                  // reverse the sample frames for backward playback
913                                  SwapMemoryArea(&pDst[swapareastart * this->FrameSize], (totalreadsamples - swapareastart) * this->FrameSize, this->FrameSize);                                  if (totalreadsamples > swapareastart) //FIXME: this if() is just a crash workaround for now (#102), but totalreadsamples <= swapareastart should never be the case, so there's probably still a bug above!
914                                        SwapMemoryArea(&pDst[swapareastart * this->FrameSize], (totalreadsamples - swapareastart) * this->FrameSize, this->FrameSize);
915                              }                              }
916                          } while (samplestoread && readsamples);                          } while (samplestoread && readsamples);
917                          break;                          break;
# Line 1837  namespace { Line 1838  namespace {
1838    
1839          const uint16_t eg3depth = (EG3Depth >= 0) ? EG3Depth          const uint16_t eg3depth = (EG3Depth >= 0) ? EG3Depth
1840                                                    : uint16_t(((-EG3Depth) - 1) ^ 0xffff); /* binary complementary for negatives */                                                    : uint16_t(((-EG3Depth) - 1) ^ 0xffff); /* binary complementary for negatives */
1841          pData[116] = eg3depth;          store16(&pData[116], eg3depth);
1842    
1843          // next 2 bytes unknown          // next 2 bytes unknown
1844    
# Line 1884  namespace { Line 1885  namespace {
1885                                        (VCFKeyboardTrackingBreakpoint & 0x7f); /* lower 7 bits */                                        (VCFKeyboardTrackingBreakpoint & 0x7f); /* lower 7 bits */
1886          pData[137] = vcfbreakpoint;          pData[137] = vcfbreakpoint;
1887    
1888          const uint8_t vcfvelocity = VCFVelocityDynamicRange % 5 |          const uint8_t vcfvelocity = VCFVelocityDynamicRange % 5 +
1889                                      VCFVelocityCurve * 5;                                      VCFVelocityCurve * 5;
1890          pData[138] = vcfvelocity;          pData[138] = vcfvelocity;
1891    
# Line 3035  MidiRuleCtrlTrigger::MidiRuleCtrlTrigger Line 3036  MidiRuleCtrlTrigger::MidiRuleCtrlTrigger
3036      }      }
3037    
3038      Instrument::~Instrument() {      Instrument::~Instrument() {
3039            for (int i = 0 ; pMidiRules[i] ; i++) {
3040                delete pMidiRules[i];
3041            }
3042          delete[] pMidiRules;          delete[] pMidiRules;
3043      }      }
3044    

Legend:
Removed from v.1851  
changed lines
  Added in v.2152

  ViewVC Help
Powered by ViewVC