Skip to content

Latest commit

 

History

History
142 lines (122 loc) · 3.93 KB

todo.md

File metadata and controls

142 lines (122 loc) · 3.93 KB

SureScript Implementation Todo List

Core Features

1. Octave Support ✓

  • Implement support for different octaves
    • Upper octave with apostrophe (S')
    • Lower octave with dot (.S)
    • Compound notes with mixed octaves (S'R.G)

2. Sustain Support ✓

  • Add support for sustain notation (*)
    • Single beat sustain
    • Multiple beat sustain
    • Sustain within compound notes [S * * *]

3. Comments

  • Implement comment handling
    • Line comments starting with //
    • Preserve comments when reading/writing files
    • Strip comments when processing musical content

4. Enhanced Beat Handling ✓

  • Improve compound note handling
    • Support for compound notes (SRG)
    • Mixed lyrics and notes in compounds [SRG man]
    • Proper spacing within beats
    • Support for silence in compounds (SR-G)
    • Support for lyrics with specific notes [man:G G G]

5. File Operations

  • Add file validation
    • Validate CONFIG section
    • Validate SCALE definitions
    • Check for required sections
    • Validate taal patterns
  • Implement proper UTF-8 handling
  • Support both LF and CRLF line endings

6. Error Handling

  • Add input validation
    • Note validation
    • Octave validation
    • Taal validation
    • Scale validation
  • Provide meaningful error messages
    • Invalid note combinations
    • Invalid lyrics format
    • Invalid beat patterns
  • Add recovery options for common mistakes

CLI Improvements

1. Interactive Features

  • Add visual beat counter
  • Show current taal pattern
  • Add preview of entered notes
  • Support for editing previous lines
  • Add line numbers to display

2. Command Extensions

  • Add 'show' command
  • Add basic 'doctor' command
  • Enhance 'doctor' command
    • Fix common formatting issues
    • Validate and correct taal patterns
    • Standardize notation style
  • Add 'validate' command
  • Support for multiple undo levels

3. Output Formatting

  • Pretty print composition
    • Align beats properly
    • Show beat numbers
    • Show taal patterns
  • Add alignment options
  • Support for different output formats
  • Add syntax highlighting

Documentation

1. Code Documentation

  • Add docstrings to all classes
  • Add docstrings to all methods
  • Add type hints
  • Add usage examples
  • Document error handling

2. User Documentation

  • Create user guide
    • Installation instructions
    • Basic usage examples
    • Advanced features
  • Add examples for common patterns
  • Document all commands
  • Add troubleshooting section

Testing

1. Unit Tests

  • Test note parsing
    • Simple notes
    • Compound notes
    • Octave notation
    • Sustain notation
  • Test lyrics handling
    • Simple lyrics
    • Lyrics with notes
    • Mixed case handling
  • Test beat patterns
    • Simple beats
    • Complex beats
    • Silence and sustain

2. Integration Tests

  • Test file operations
    • Reading files
    • Writing files
    • Doctor functionality
  • Test complete composition creation
  • Test error scenarios

3. Edge Cases

  • Test invalid inputs
  • Test boundary conditions
  • Test large compositions
  • Test complex taal patterns

Known Issues

  • Current octave notation not implemented (Implemented)
  • Sustain (*) notation not supported (Implemented)
  • Comments are not preserved in file operations
  • Compound notes need better validation (Implemented)
  • UTF-8 handling needs improvement
  • Line endings need standardization
  • Error messages need improvement
  • Taal pattern validation missing

Notes

  • Priority should be given to remaining core features (Comments, File Operations, Error Handling)
  • Testing framework should be set up
  • Documentation should be updated as features are implemented