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
Proposed fix 1527 Channel note on indicator doesn't fire when a very high note is played. #1529
Conversation
I'm a bit hesitant about this fix... The check for the key range is there for a reason, by just bypassing it, we'll be emiting the newNote signal even if the note is invalid, and even if the instrument doesn't get passed a midi event. I'm not sure if the indicator even should blink in this situation... |
I also had them concerns, but as master currenly stands the note is already playing before this emit newNote,and notes play that are outside of this range check. TBH maybe the correct fix for this is to stop the playing of notes outside the range check? |
On 12/30/2014 02:52 PM, Dave wrote:
On some instruments. Try it on eg. Vestige or Opulenz, and you'll see
Well that's not really a good solution either - we shouldn't limit our Maybe we should first find out all the things the newNote signal is |
The only place I can find that uses the newNote signal is InstrumentTrack.cpp ln 913
The only purpose of the newNote signal is for the indicator |
If you don't mind me asking, in what scenarios are the invalid check for? In several instruments, these notes still generate sound output, just no visual indicator on the FadeButton, so what type of scenario are we protecting from? -Tres |
Perhaps we give it a more appropriate name then? |
I agree the name newNote is misleading activateIndicator would be my suggestion |
On 12/30/2014 03:24 PM, Dave wrote:
If it's only used by one recipient, then we shouldn't be using a signal |
I can do that, the queston is where, inside or outside the range check? |
On 12/30/2014 03:31 PM, Dave wrote:
Hm, for now it's probably easiest to put it outside the range check, |
Again, lack of knowledge question... but do |
On 12/30/2014 04:08 PM, Tres Finocchiaro wrote:
No. emit calls fire Qt's metaobject system (it's what we need mocfiles The benefit from signals/slots is when we have a situation where we may If a signal is only ever connected to one slot, then it's a lot of |
Removed the Signal newNote |
Looks good |
Proposed fix 1527 Channel note on indicator doesn't fire when a very high note is played.
If performance is the only factor we are measuring. The use of signals and slots removes dependencies for ui and mechanics, with signals and slots, if the ui breaks or changes the engine carries on. This lack of dependency really shines because it is possible to change the ui with no changes needed to core code. From what i can see LMMS is written using the MVC pattern, putting these dependencies in is eroding that. This is more of a general observation from me than a comment on performance, that i know is important in audio |
This commit may be causing a crash in preset preview now... |
Proposed fix 1527 Channel note on indicator doesn't fire when a very high note is played.
Now the Instrument activity indicator flashed when a note is played.