Completely revamp the DWI writing code. Handle things like:

248 -> <18>
24!4 -> 1!3
246!68!6 -> <19!9>
This commit is contained in:
Glenn Maynard
2003-07-07 01:12:30 +00:00
parent 8014bb1f27
commit a06eeea9c7
2 changed files with 133 additions and 30 deletions
+5 -4
View File
@@ -5,14 +5,15 @@
#include "Notes.h"
#include "NoteTypes.h"
class NotesWriterDWI {
char NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bCol4, bool bCol5, bool bCol6 );
char NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bCol4 );
class NotesWriterDWI
{
CString NotesToDWIString( TapNote cNoteCol1, TapNote cNoteCol2, TapNote cNoteCol3, TapNote cNoteCol4, TapNote cNoteCol5, TapNote cNoteCol6 );
CString NotesToDWIString( TapNote cNoteCol1, TapNote cNoteCol2, TapNote cNoteCol3, TapNote cNoteCol4 );
CString NotesToDWIString( char cNoteCol1, char cNoteCol2, char cNoteCol3, char cNoteCol4 );
void WriteDWINotesField( FILE* fp, const Notes &out, int start );
bool WriteDWINotesTag( FILE* fp, const Notes &out );
CString NotesToDWIString( const TapNote cNoteCols[6] );
CString OptimizeDWIString( CString holds, CString taps );
char OptimizeDWIPair( char c1, char c2 );
public:
bool Write( CString sPath, const Song &out );