fix echo adds taps under hold notes

This commit is contained in:
Chris Danford
2003-11-07 09:27:28 +00:00
parent 3ca893b0ca
commit e986f15792
4 changed files with 55 additions and 18 deletions
+26 -4
View File
@@ -16,10 +16,6 @@
#include "NoteTypes.h"
// '1' = tap note
// '2' = hold note begin
// '3' = hold note end ('1' can also end a HoldNote) ('3' without a matching '2' is ignored
// ... for future expansion
class NoteData
{
@@ -84,6 +80,17 @@ public:
return -1;
}
inline int GetNumTracksWithTap( int index ) const
{
int iNum = 0;
for( int t=0; t<m_iNumTracks; t++ )
{
TapNote tn = GetTapNote(t, index);
if( tn == TAP_TAP )
iNum++;
}
return iNum;
}
inline int GetNumTracksWithTapOrHoldHead( int index ) const
{
int iNum = 0;
for( int t=0; t<m_iNumTracks; t++ )
@@ -95,6 +102,16 @@ public:
return iNum;
}
inline int GetFirstTrackWithTap( int index ) const
{
for( int t=0; t<m_iNumTracks; t++ )
{
TapNote tn = GetTapNote(t, index);
if( tn == TAP_TAP )
return t;
}
return -1;
}
inline int GetFirstTrackWithTapOrHoldHead( int index ) const
{
for( int t=0; t<m_iNumTracks; t++ )
{
@@ -108,6 +125,11 @@ public:
{
return GetFirstTrackWithTap( index ) != -1;
}
inline bool IsThereATapOrHoldHeadAtRow( int index ) const
{
return GetFirstTrackWithTapOrHoldHead( index ) != -1;
}
void GetTracksHeldAtRow( int row, vector<int>& viTracksOut );
int GetNumTracksHeldAtRow( int row );
// used in edit/record