Alright pumpervinil, you got your Delay wish.
I hope that's enough for you.
This commit is contained in:
@@ -814,6 +814,7 @@ CoinsPerCredit=Coins Per Credit
|
||||
Connection=Connection
|
||||
Convert pause to beats=Convert pause to beats
|
||||
Convert selection to pause=Convert selection to pause
|
||||
Convert selection to delay=Convert selection to delay
|
||||
Convert selection to warp=Convert selection to Warp Segment
|
||||
Convert selection to fake=Convert selection to Fake Segment
|
||||
Copy=Copy
|
||||
|
||||
@@ -538,6 +538,8 @@ static MenuDef g_AlterMenu(
|
||||
EditMode_Practice, true, true, 0, NULL ),
|
||||
MenuRowDef(ScreenEdit::convert_to_pause, "Convert selection to pause", true,
|
||||
EditMode_Full, true, true, 0, NULL ),
|
||||
MenuRowDef(ScreenEdit::convert_to_delay, "Convert selection to delay", true,
|
||||
EditMode_Full, true, true, 0, NULL ),
|
||||
MenuRowDef(ScreenEdit::convert_to_warp, "Convert selection to warp", true,
|
||||
EditMode_Full, true, true, 0, NULL ),
|
||||
MenuRowDef(ScreenEdit::convert_to_fake, "Convert selection to fake", true,
|
||||
@@ -3719,6 +3721,27 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector<int> &iAn
|
||||
m_NoteFieldEdit.m_iEndMarker = -1;
|
||||
break;
|
||||
}
|
||||
case convert_to_delay:
|
||||
{
|
||||
ASSERT_M( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1, "Attempted to convert beats outside the notefield to pauses!" );
|
||||
float fMarkerStart = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) );
|
||||
float fMarkerEnd = GetAppropriateTiming().GetElapsedTimeFromBeat( NoteRowToBeat(m_NoteFieldEdit.m_iEndMarker) );
|
||||
|
||||
// The length of the delay segment we're going to create. This includes time spent in any
|
||||
// stops in the selection, which will be deleted and subsumed into the new stop.
|
||||
float fStopLength = fMarkerEnd - fMarkerStart;
|
||||
|
||||
NoteDataUtil::DeleteRows( m_NoteDataEdit,
|
||||
m_NoteFieldEdit.m_iBeginMarker,
|
||||
m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker
|
||||
);
|
||||
GetAppropriateTiming().DeleteRows( m_NoteFieldEdit.m_iBeginMarker,
|
||||
m_NoteFieldEdit.m_iEndMarker-m_NoteFieldEdit.m_iBeginMarker );
|
||||
GetAppropriateTiming().SetDelayAtRow( m_NoteFieldEdit.m_iBeginMarker, fStopLength );
|
||||
m_NoteFieldEdit.m_iBeginMarker = -1;
|
||||
m_NoteFieldEdit.m_iEndMarker = -1;
|
||||
break;
|
||||
}
|
||||
case convert_to_warp:
|
||||
{
|
||||
float startBeat = NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker);
|
||||
|
||||
@@ -385,6 +385,7 @@ public:
|
||||
play,
|
||||
record,
|
||||
convert_to_pause,
|
||||
convert_to_delay,
|
||||
convert_to_warp,
|
||||
convert_to_fake,
|
||||
NUM_ALTER_MENU_CHOICES
|
||||
|
||||
Reference in New Issue
Block a user