add collapse left transform
This commit is contained in:
@@ -1110,6 +1110,25 @@ void NoteDataUtil::CollapseToOne( NoteData &in )
|
||||
in.Convert2sAnd3sToHoldNotes();
|
||||
}
|
||||
|
||||
void NoteDataUtil::CollapseLeft( NoteData &in )
|
||||
{
|
||||
in.ConvertHoldNotesTo2sAnd3s();
|
||||
int max_row = in.GetLastRow();
|
||||
for( int r=0; r<=max_row; r++ )
|
||||
{
|
||||
int iNumTracksFilled = 0;
|
||||
for( int t=0; t<in.GetNumTracks(); t++ )
|
||||
if( in.GetTapNote(t,r) != TAP_EMPTY )
|
||||
{
|
||||
TapNote tn = in.GetTapNote(t,r);
|
||||
in.SetTapNote(t, r, TAP_EMPTY);
|
||||
in.SetTapNote(iNumTracksFilled, r, tn);
|
||||
iNumTracksFilled++;
|
||||
}
|
||||
}
|
||||
in.Convert2sAnd3sToHoldNotes();
|
||||
}
|
||||
|
||||
void NoteDataUtil::ShiftLeft( NoteData &in )
|
||||
{
|
||||
in.ConvertHoldNotesTo4s();
|
||||
|
||||
@@ -66,6 +66,7 @@ namespace NoteDataUtil
|
||||
void ClearLeft( NoteData &in );
|
||||
void ClearRight( NoteData &in );
|
||||
void CollapseToOne( NoteData &in );
|
||||
void CollapseLeft( NoteData &in );
|
||||
void ShiftLeft( NoteData &in );
|
||||
void ShiftRight( NoteData &in );
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ static const MenuRow g_AreaMenuItems[] =
|
||||
{ "Quantize", true, 0, { "4TH","8TH","12TH","16TH","24TH","32ND","48TH","64TH" } },
|
||||
{ "Turn", true, 0, { "Left","Right","Mirror","Shuffle","Super Shuffle" } },
|
||||
{ "Transform", true, 0, { "NoHolds","NoMines","Little","Wide","Big","Quick","Skippy","Mines","Echo","Planted","Stomp","Twister" } },
|
||||
{ "Alter", true, 0, { "Backwards","Swap Sides","Copy Left To Right","Copy Right To Left","Clear Left","Clear Right","Collapse To One","Shift Left","Shift Right" } },
|
||||
{ "Alter", true, 0, { "Backwards","Swap Sides","Copy Left To Right","Copy Right To Left","Clear Left","Clear Right","Collapse To One","Collapse Left","Shift Left","Shift Right" } },
|
||||
{ "Tempo", true, 0, { "Compress 2x","Compress 3->2","Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" } },
|
||||
{ "Play selection", true, 0, { NULL } },
|
||||
{ "Record in selection", true, 0, { NULL } },
|
||||
@@ -1608,6 +1608,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
|
||||
case clear_left: NoteDataUtil::ClearLeft( m_Clipboard ); break;
|
||||
case clear_right: NoteDataUtil::ClearRight( m_Clipboard ); break;
|
||||
case collapse_to_one: NoteDataUtil::CollapseToOne( m_Clipboard ); break;
|
||||
case collapse_left: NoteDataUtil::CollapseLeft( m_Clipboard ); break;
|
||||
case shift_left: NoteDataUtil::ShiftLeft( m_Clipboard ); break;
|
||||
case shift_right: NoteDataUtil::ShiftRight( m_Clipboard ); break;
|
||||
default: ASSERT(0);
|
||||
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
void HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers );
|
||||
enum TurnType { left, right, mirror, shuffle, super_shuffle, NUM_TURN_TYPES };
|
||||
enum TransformType { noholds, nomines, little, wide, big, quick, skippy, mines, echo, planted, stomp, twister, NUM_TRANSFORM_TYPES };
|
||||
enum AlterType { backwards, swap_sides, copy_left_to_right, copy_right_to_left, clear_left, clear_right, collapse_to_one, shift_left, shift_right, NUM_ALTER_TYPES };
|
||||
enum AlterType { backwards, swap_sides, copy_left_to_right, copy_right_to_left, clear_left, clear_right, collapse_to_one, collapse_left, shift_left, shift_right, NUM_ALTER_TYPES };
|
||||
// MD 11/02/03 - added additional tempo adjusts which make "sense"
|
||||
enum TempoType { compress_2x, compress_3_2, compress_4_3, expand_4_3, expand_3_2, expand_2x, NUM_TEMPO_TYPES };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user