Changeset 526

Show
Ignore:
Timestamp:
09/27/08 13:46:48 (2 months ago)
Author:
gabriel
Message:

Add bounds checking to Note::set_leadlag().

The Note queueing logic (hydrogen.cpp) assume that get_leadlag()
will return a value between -1.0 and 1.0 (inclusive). This enforces
that assumption.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libs/hydrogen/include/hydrogen/note.h

    r466 r526  
    2424#define H2_NOTE_H 
    2525 
     26#include <cassert> 
    2627#include <hydrogen/Object.h> 
    2728#include <hydrogen/adsr.h> 
     
    171172 
    172173        void set_leadlag( float leadlag ) { 
    173                 __leadlag = leadlag; 
     174                if(leadlag > 1.0) { 
     175                        __leadlag = 1.0; 
     176                } else if (leadlag < -1.0) { 
     177                        __leadlag = -1.0; 
     178                } else { 
     179                        __leadlag = leadlag; 
     180                } 
    174181        } 
    175182        float get_leadlag() const { 
     183                assert(__leadlag <=  1.0); 
     184                assert(__leadlag >= -1.0); 
    176185                return __leadlag; 
    177186        }