-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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 Note Types #5902
Implement Note Types #5902
Commits on Feb 3, 2021
-
Starts implementing Note Types. The two available types are RegularNote and StepNote. PianoRoll now paints the color with a different color for StepNotes. Pattern::addStep now sets the type of the note to StepNote. Negative size is still used to signal a step note.
Configuration menu - View commit details
-
Copy full SHA for b205222 - Browse repository at this point
Copy the full SHA b205222View commit details -
Update Pattern.cpp to account for the Note::Type
Updates the methods noteAtStep(), addStepNote() and checkType() from Pattern.cpp to account for the note type and not the note length.
Configuration menu - View commit details
-
Copy full SHA for cfb533a - Browse repository at this point
Copy the full SHA cfb533aView commit details -
Update PatternView::paintEvent to draw step notes
PatternView::paintEvent now draws the pattern if the pattern type is BeatPattern and TCOs aren't fixed (Song Editor). Color used is still the BeatPattern color (grey) and the conditional doesn't look very nice and can be improved. Pattern::beatPatternLength was also updated so it accounts for the note type not note length. Review this method, as it looks a bit weird (particularly the second conditional).
Configuration menu - View commit details
-
Copy full SHA for a5cf05d - Browse repository at this point
Copy the full SHA a5cf05dView commit details -
Implements StepNotes setting a NPH with 0 frames
Now, instead of TimePos returning 0 for negative lengths, we create a NotePlayHandle with 0 frames when the note type is StepNote on InstrumentTrack::play.
Configuration menu - View commit details
-
Copy full SHA for df88140 - Browse repository at this point
Copy the full SHA df88140View commit details -
Improves PatternView::paintEvent conditional
Improves a conditional inside PatternView::paintEvent by reversing the order in which they are executed.
Configuration menu - View commit details
-
Copy full SHA for 7a5ad82 - Browse repository at this point
Copy the full SHA 7a5ad82View commit details -
Adds upgrade method for backwards compatibility
Adds an upgrade method that converts notes with negative length to StepNotes, so old projects can be loaded properly. Explicitly set the Note::RegularNote value as 0. Make the default "type" value "0", so notes without a type are loaded as RegularNotes.
Configuration menu - View commit details
-
Copy full SHA for 725169a - Browse repository at this point
Copy the full SHA 725169aView commit details
Commits on Feb 11, 2021
-
- Changes "addStepNote" so "checkType" isn't called twice in a row. - Changes style on a one line conditional.
Configuration menu - View commit details
-
Copy full SHA for faa5209 - Browse repository at this point
Copy the full SHA faa5209View commit details -
Uses ternary expression on statement
Reduces number of lines by using ternary expression.
Configuration menu - View commit details
-
Copy full SHA for 9decf11 - Browse repository at this point
Copy the full SHA 9decf11View commit details
Commits on Mar 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3576300 - Browse repository at this point
Copy the full SHA 3576300View commit details
Commits on Apr 18, 2021
-
Merge branch 'master' into feature/BBNotes
Fixes conflicts from separation of classes.
Configuration menu - View commit details
-
Copy full SHA for f5cc889 - Browse repository at this point
Copy the full SHA f5cc889View commit details
Commits on Jul 7, 2023
-
Merge branch 'master' into feature/BBNotes
Fixes conflicts with master branch
Configuration menu - View commit details
-
Copy full SHA for 1df46a5 - Browse repository at this point
Copy the full SHA 1df46a5View commit details
Commits on Jul 9, 2023
-
Addresses PR review (sakertooth)
- Changes class setter to inline - Uses enum class instead of enum - Uses auto and const where appropriate
Configuration menu - View commit details
-
Copy full SHA for db0d0b7 - Browse repository at this point
Copy the full SHA db0d0b7View commit details -
Finished changes from review (sakertooth)
- Used std::max instead of qMax - Fixed style on lines changed in the PR
Configuration menu - View commit details
-
Copy full SHA for 6b3c75e - Browse repository at this point
Copy the full SHA 6b3c75eView commit details
Commits on Jul 10, 2023
-
Uses std::find_if to save codelines
As suggested by sakertooth, by using std::find_if we are able to simplify the checkType method to two lines.
Configuration menu - View commit details
-
Copy full SHA for 4b69615 - Browse repository at this point
Copy the full SHA 4b69615View commit details
Commits on Jul 17, 2023
-
Addresses review from sakertooth
- Reverts m_detuning in-class initialization - Removes testing warning - Removes unnecessary comment
Configuration menu - View commit details
-
Copy full SHA for 89a62f6 - Browse repository at this point
Copy the full SHA 89a62f6View commit details
Commits on Jul 23, 2023
-
- Rename the Note Types enum to avoid redundancy - Uses std::all_of instead of std::find_if on MidiClip checkType - Rewrites addStepNote so it sets the note type before adding it to the clip, avoiding having to manually change the type of the clip after adding the note
Configuration menu - View commit details
-
Copy full SHA for b3511c2 - Browse repository at this point
Copy the full SHA b3511c2View commit details
Commits on Aug 21, 2023
-
Updates MidiExport to use Note Types
- Now MidiExport is updated to use note types instead of relying on negative length notes. - For that change it was necessary to find a way of letting MidiExport know how long step notes should be. The solution found was to add an attribute to the Instrument XML called "beatlen", which would hold the number of frames of the instrument's beat. That would be converted to ticks, so we could calculate how long the MIDI notes would have to be to play the whole step note. If the attribute was not found, the default value of 16 ticks would be used as a length of step notes, as a fallback.
Configuration menu - View commit details
-
Copy full SHA for dbefa9c - Browse repository at this point
Copy the full SHA dbefa9cView commit details
Commits on Aug 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 463050a - Browse repository at this point
Copy the full SHA 463050aView commit details -
Due to changes in the name of enum classes, there was an ambiguity caused in NotePlayHandle.cpp. That was fixed.
Configuration menu - View commit details
-
Copy full SHA for 0054ece - Browse repository at this point
Copy the full SHA 0054eceView commit details
Commits on Oct 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fe42e97 - Browse repository at this point
Copy the full SHA fe42e97View commit details -
- Addresses code review from PhysSong and Messmerd
Configuration menu - View commit details
-
Copy full SHA for 38dd8ec - Browse repository at this point
Copy the full SHA 38dd8ecView commit details -
Fixes note drawing on Song Editor
- Notes were not being draw on the song editor for BeatClips. This commit fixes this.
Configuration menu - View commit details
-
Copy full SHA for 31a2bd3 - Browse repository at this point
Copy the full SHA 31a2bd3View commit details
Commits on Oct 18, 2023
-
Adds cassert header to TimePos.cpp
- Adds header to use assert() on TimePos.cpp
Configuration menu - View commit details
-
Copy full SHA for 43018d7 - Browse repository at this point
Copy the full SHA 43018d7View commit details
Commits on Oct 26, 2023
-
Apply suggestions from code review
Fixes style on some lines Co-authored-by: Dalton Messmer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 389a245 - Browse repository at this point
Copy the full SHA 389a245View commit details
Commits on Nov 3, 2023
-
Reverts some changes on MidiExport
- Some changes were reverted on MidiExport and InstrumentTrack. We were storing the beat length on the XML of Instrument Tracks, but in reality the beat length is a per note attribute, and some instruments could run into a segmentation fault when calling beat length without a NotePlayHandle (i.e.: AFP). Because of that I reverted this change, so the beat length is not stored on the XML anymore, and instead we have a magic number on the MidiExport class that holds a default beat length which is actually an upper limit for the MIDI notes of step notes. In the future we can improve this by finding a way to store the beat length on the note class to use it instead. The MidiExport logic is not worsened at all because previously the beat length wasn't even considered during export (it was actually improved making the exported notes extend until the next one instead of cutting shorter).
Configuration menu - View commit details
-
Copy full SHA for dcb41af - Browse repository at this point
Copy the full SHA dcb41afView commit details
Commits on Nov 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2ecadb0 - Browse repository at this point
Copy the full SHA 2ecadb0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67b0b24 - Browse repository at this point
Copy the full SHA 67b0b24View commit details