Browse Source

Snap trims as well.

tags/non-daw-v1.1.0
Jonathan Moore Liles 17 years ago
parent
commit
91614d9aa1
3 changed files with 26 additions and 2 deletions
  1. +2
    -2
      Timeline/Audio_Region.C
  2. +10
    -0
      Timeline/Sequence_Region.C
  3. +14
    -0
      Timeline/Sequence_Widget.H

+ 2
- 2
Timeline/Audio_Region.C View File

@@ -865,6 +865,8 @@ Audio_Region::write ( nframes_t nframes )
bool
Audio_Region::finalize ( nframes_t frame )
{
_range.length = frame - _range.start;

log_end();

_clip->close();
@@ -872,8 +874,6 @@ Audio_Region::finalize ( nframes_t frame )

/* FIXME: should we attempt to truncate the file? */

_range.length = frame - _range.start;

redraw();

return true;


+ 10
- 0
Timeline/Sequence_Region.C View File

@@ -92,6 +92,11 @@ Sequence_Region::trim ( enum trim_e t, int X )

_r->trim_left( 0 - td );

nframes_t f;
/* snap to beat/bar lines */
if ( timeline->nearest_line( _r->start, &f ) )
_r->set_left( f );

break;
}
case RIGHT:
@@ -109,6 +114,11 @@ Sequence_Region::trim ( enum trim_e t, int X )

_r->trim_right( 0 - td );

nframes_t f;
/* snap to beat/bar lines */
if ( timeline->nearest_line( _r->start + _r->length, &f ) )
_r->set_right( f );

break;
}
default:


+ 14
- 0
Timeline/Sequence_Widget.H View File

@@ -62,6 +62,20 @@ struct Range
length += n;
}

void
set_left ( nframes_t f )
{
offset += f - start;
length -= f - start;
start = f;
}

void
set_right ( nframes_t f )
{
length = f - start;
}

Range ( ) : start( 0 ), offset( 0 ), length( 0 )
{
}


Loading…
Cancel
Save