Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new features in Summer 2019 #53

Open
codaich opened this issue May 8, 2019 · 0 comments
Open

Implement new features in Summer 2019 #53

codaich opened this issue May 8, 2019 · 0 comments
Assignees

Comments

@codaich
Copy link
Collaborator

codaich commented May 8, 2019

Implement new features in the feat/newfeatures2019 branch using the following procedure:

  • Cory will enter new feature names and descriptions in red on existing manual pages and push them to this branch.
  • Implement the features in red.
    • You may wish to use temporary dummy feature numbers while doing this to avoid conflicts with existing features.
    • Be careful about MIDI peculiarities like Channel 10 (see the Extending the Software section of the manual).
    • You can make use of utility methods in mckay.utilities.staticlibraries.* if you wish.
    • You should definitely make use of use of existing functionality in MIDIIntermediateRepresentations. You can also implement some of your new processing in MIDIIntermediateRepresentations if you think that other features will also use it, but when possible it's better to reuse to other features directly.
    • Add your new features to MIDIFeatureExtractor so that jSymbolic will extract them.
  • Test the new features:
    • Use command line settings in NetBeans and config files to speed this up.
    • Make your own custom MIDI test files to test your specific features (talk to Emily or Gabriel about score editing software in the lab).
    • Test a wide variety of existing stock test MIDI files as well (don't worry about MEI for now).
    • Verify that all feature outputs are reasonable.
    • Verify that no features give values of NaN, -Infinity or Infinity.
  • Adjust feature numbering for all features displaced by the new feature in both the feature implementations and in the manual.
    • Be sure to maintain the feature order specified in the manual.
    • Do not change the feature descriptions or de-red them (Cory will do this during the code review process).
  • Add new features (in the proper order) to the jSymbolicDefaultConfigs.txt file. This can be done in the GUI.
  • Commit and push your changes (still to the feat/newfeatures2019 branch).
    • Mention the names of all new features you added in the commit notes.
    • E-mail Cory to note the feature batch is complete.
    • Cory will do a code review and push a new set of features to implement (still to the feat/newfeatures2019 branch).
  • Start on the new set of features.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants