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

Midi events are modified by the MidiClients #4076

Open
gi0e5b06 opened this issue Dec 28, 2017 · 3 comments
Open

Midi events are modified by the MidiClients #4076

gi0e5b06 opened this issue Dec 28, 2017 · 3 comments

Comments

@gi0e5b06
Copy link

gi0e5b06 commented Dec 28, 2017

Most of the Midi clients modify the events in some way. For example:

  • shifting one octave down
  • computing pitchbend in different ways

The Midi events should never be altered.

  1. Fix the funky design of MidiEvent
  2. remove any shifting
  3. uniformize pitchbending, panning, volume, etc
  4. prefix setter/getter for LMMS with lmms
  5. unprefix setter/getter for MIDI
@PhysSong
Copy link
Member

  • shifting one octave down

See #1857 (comment).

  • computing pitchbend in different ways

What do you mean there?

@PhysSong
Copy link
Member

  1. Fix the funky design of MidiEvent

Why do you think the design of MidiEvent is funky? When you say "funky", there should be a reason for that.

  1. prefix setter/getter for LMMS with lmms
  2. unprefix setter/getter for MIDI

Well, I think this can be a problem with conventions and consistency. Does the new suggestion have any merits or needs?

@gi0e5b06
Copy link
Author

My branch has all of these issues fixed.

0a. #1857 So this is another one of these very old bugs. A major one but easy to fix.
0b. Midi pitchbend should be a value between 0 and 16383. Also it should be stored in 2x7bit LE.

  1. I used "funky" insead of "bad" because of @tresf :) Anyway, MidiEvent should follow the Midi standard. Internal data should be easy to write to a midi byte stream.
    4+5. I'm fine with the Qt convention (no 'get' but 'set' prefixes). Here I'm talking about the 'midi' and 'lmms' prefixes. MidiEvent.channel() should return the midi channel, while lmmsChannel() should return the value for LMMS. Same for every thing else (volume, pitchbend, etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants