示例#1
0
/**********************************************
  FUNCTION
    Does only remove all notes in the ranged
    area. (decided to wait with FXes)
**********************************************/
void CutRangedRange(
	struct WBlocks *wblock
){
	Place *p1,*p2;

	if(!wblock->isranged) return;

	p1=GetRangeStartPlace(wblock);
	p2=GetRangeEndPlace(wblock);

	CutRange(wblock->block,wblock->rangex1,wblock->rangex2,p1,p2);
        
	wblock->isranged=false;
}
示例#2
0
void TransposeRange(
	struct WBlocks *wblock,
	int trans
){
	struct Tracks *track;
	int lokke;
	Place *p1,*p2;

	if( ! wblock->isranged) return;

	p1=GetRangeStartPlace(wblock);
	p2=GetRangeEndPlace(wblock);

	track=ListFindElement1(&wblock->block->tracks->l,wblock->rangex1);

	for(lokke=0;lokke<=wblock->rangex2-wblock->rangex1;lokke++){
		Transpose_notes(track->notes,p1,p2,trans);
		track=NextTrack(track);
	}

}