Example #1
0
void PlayRangeCurrPos(struct Tracker_Windows *window){
	struct WBlocks *wblock;
	Place *place;

	PlayStopReally(false);

	wblock=window->wblock;

	if( ! wblock->isranged) return;

	root->setfirstpos=false;

	if(wblock->rangey1==0) root->setfirstpos=true;

	place=getRangeStartPlace(wblock);
	pc->seqtime=-Place2STime(wblock->block,place);

//	printf("playrange, time: %d\n",pc->seqtime);

        Place *place_start = getRangeStartPlace(wblock);
        Place *place_end   = getRangeEndPlace(wblock);
        pc->range_duration = Place2STime(wblock->block, place_end) - Place2STime(wblock->block, place_start);
        pc->is_playing_range = true;
        
	PlayBlock(wblock->block,place,true);
}
Example #2
0
void InvertRange(
	struct WBlocks *wblock
){
	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++){
		Invert_notes(track->notes,p1,p2,true,0);
		track=NextTrack(track);
	}

}