lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Better MIDI support

Open tresf opened this issue 10 years ago • 51 comments

This is a placeholder to consolidate MIDI related issues. If a new MIDI enhancement is reported on the tracker, close it out and mark it as a duplicate of this bug (and naturally add to this list as needed) (#1472)

Note: As opposed to our other placeholder bug reports, MIDI is slightly different as it is mostly feature-complete. Version-specific MIDI bugs should remain open and tracked on a per-version basis. Don't close out valid bug reports simply because they use the word "MIDI" in them, first make sure they aren't attributed to a specific build. :+1:


Basic Functionality:

  • [x] LMMS should not manipulate the raw incoming MIDI streams #1857 [Milestone: 1.3]
  • [ ] Internal routing/support for MIDI-generating plugins/effects (e.g. BlueARP) #3485
  • [ ] MIDI import should support pitch bend range #1967
  • [ ] MIDI export support #258, #699 (via #1686, reverted via #3114 per #2384)
  • [ ] (Windows) empty/assignable MIDI channel #793 (Related #3485)
  • [x] (Apple) basic MIDI support #1153

Enhanced Functionality:

  • [ ] Simultaneous multi-track recording #4603
  • [ ] Expose MIDI controls (all 128 CC messages) #1159
    • [ ] MIDI play/pause/stop/record #1071 #4837
    • [ ] MIDI move loop #1071
    • [ ] MIDI bank-selection (MSB) support #62
    • [ ] MIDI pitch-bend recording support #1918, #3724
    • [ ] MIDI modulation wheel, sustain pedal and expression pedal support #1918 #1917 #1890 #1700 #1953
    • [ ] MIDI program change support for plugins #5138
  • [ ] Midi timecode output socket (ALSA, JACK #4838)
  • [ ] Allow using the MIDI output of Carla for LMMS' MIDI out #4858
  • [x] Faster access to MIDI assignment/auto-assignment #3400 #1189 #1781 #1918 #1942 #3185
  • [ ] Better MIDI import support/transpose #815 #148 #1918
  • [ ] Game controller MIDI support #695
  • [ ] MIDI mapping using custom key ranges #1743 #1381 #1792 #1460 [Milestone: 1.3]
  • [ ] Better VST effect support (i.e. Autotune, Vocoder) #1202
  • [ ] Multiplexing MIDI channels to a single instrument #1178
  • [ ] Microtonality (Scala .scl files, retuning, etc) #1387
  • [ ] MPE #3439
  • [ ] MIDI clock #3539

Bugs:

  • [x] MIDI import crash #972

Related:

  • (none reported yet)

tresf avatar Dec 20 '14 16:12 tresf

@tresf Perhaps we could make this a checklist where we can tick each task as it is completed.

In my case I don't have a fully capable MIDI controller, but would like to work on the Export to MIDI feature.

Take a look at this reference on markdown checklists if you need.

badosu avatar Dec 26 '14 20:12 badosu

On 12/26/2014 10:17 PM, Amadeus Folego wrote:

@tresf https://github.com/tresf Perhaps we could make this a checklist where we can tick each task as it is completed.

In my case I don't have a fully capable MIDI controller, but would like to work on the Export to MIDI feature.

Take a look at this reference https://github.com/blog/1375%0A-task-lists-in-gfm-issues-pulls-comments on markdown checklists if you need.

Export to MIDI should be implemented as an export plugin.

You don't need a MIDI controller for it.

diizy avatar Dec 26 '14 20:12 diizy

I know, I am talking about the other features, this is an example of a feature that does not need a virtual/real midi controller.

So when this task is completed is is marked and we have a sense on how our MIDI support is evolving.

badosu avatar Dec 26 '14 20:12 badosu

Perhaps we could make this a checklist where we can tick each task as it is completed.

Sounds good. Planned on using ~~strikeout~~ (~~strikeout~~) to mark as done if that sounds OK.

tresf avatar Dec 26 '14 22:12 tresf

Working on a keyboard layer plugin and keyboard layer track GUI mockup for #1381.

Reaper10 avatar Feb 05 '15 01:02 Reaper10

I'm finding midi import crashes LMMS on about 30% of the files I've tried on V1.10, V1.12, Win64 and Win32 versions. These files seem to play OK in Windows Media Player. Audacity imports them OK. Example: http://en.midimelody.ru/midi.php?str=%2Fb%2FBeck%2C%20Jeff%2FBeck%2C%20Jeff%20-%20Blue%20Wind.mid

rheslip avatar Feb 22 '15 15:02 rheslip

Probably because it contains some feature that LMMS doesn't support

Sti2nd avatar Feb 22 '15 19:02 Sti2nd

I haven't found exactly what causes the crash but it appears to be something with pitch bends. There is a lot of pitch bending in that tune (Jeff Beck's "Blue Wind") and when I filter all the pitch bends out of the midi file it imports correctly. I'll see if I can narrow it down to something more specific.

rheslip avatar Feb 23 '15 03:02 rheslip

@tresf Can you tick #699 as it was fixed?

badosu avatar Feb 23 '15 18:02 badosu

@tresf Can you tick #699 as it was fixed?

:+1:

tresf avatar Feb 23 '15 21:02 tresf

This should be turned into a task list so its easier to mark fixed issues.

Umcaruje avatar Mar 02 '15 17:03 Umcaruje

The Play and Stop, buttons on the B&B Editor needs to be assigned to deferent MIDI CC numbers then main transport, so you can assign them to deferent buttons on your MIDI controler then the main transport.

Reaper10 avatar Apr 13 '15 21:04 Reaper10

@Reaper10 in the future, try to provide some context when you link to another issue. For example, say something simple like "#1977 should be added to this list" so that we know why you're linking us there.

Wallacoloo avatar Apr 19 '15 02:04 Wallacoloo

So with these huge lists: if I want to discuss one specific item in depth, should I do it here or on the original issue that is linked (even though it's already closed)?

Wallacoloo avatar Apr 25 '15 07:04 Wallacoloo

@Wallacoloo either is fine.

The closed topics are closed more for organization purposes, (technically they are still open and still valid) so feel free to use the original bugs as needed if you want to prevent bugs like this from turning into run-ons.

The consolidation was done because as you can see above, we have many, many duplicates and many related bugs that would otherwise be quite difficult to track independent of each other. :+1:

tresf avatar Apr 26 '15 12:04 tresf

Hey I definitely don't want to be pushy, because after all it's a volunteer project that you guys put massive amounts of time into, but (haha) is there a way to prioritize based on what the average or potential users need.

To me these 2 are the most basic:

MIDI pitch-bend support #1918 MIDI modulation wheel, sustain pedal and expression pedal support #1918 #1917 #1890 #1700 #1953

Again, just a suggestion, maybe there could be a poll somewhere?

Thanks! Dave

davetbass2 avatar May 24 '15 23:05 davetbass2

maybe there could be a poll somewhere

Someone could certainly do this. We've had some polls in the past. What we need more than anything is a few more people getting their hands dirty with the code, which a poll won't necessarily fix.

tresf avatar May 25 '15 00:05 tresf

Cool I hear you, I've actually started learning c++ (I had taken 2 semesters of c in school) but I think it'll be a while before I could contribute.

Thanks

davetbass2 avatar May 25 '15 17:05 davetbass2

@tresf Can you tick #699 as it was fixed?

So MIDI export works now? How?

drummyfish avatar Jun 18 '15 16:06 drummyfish

@drummyfish in a future release, 1.2.0.

tresf avatar Jun 18 '15 16:06 tresf

For the "MIDI mapping using custom key ranges #1743 #1381 #1792 ", we could use the new tab in the plugin window, the one used to disable transposition. It's a really important feature: with that you can use the B+B editor as a drum sampler #1460.

DeRobyJ avatar Jun 24 '15 12:06 DeRobyJ

I've done some work for MIDI play/pause/stop/record, so I a Korg nanoKONRTOL assigned to control LMMS functions. on https://github.com/teknopaul/lmm. I'll see if I can make it a bit more generic.

teknopaul avatar Feb 04 '17 02:02 teknopaul

Supporting Advanced midi keyboard features / midi-HW drums-pads This request was caused from this http://lmms.io/forum/viewtopic.php?f=7&t=8627 The essence is that one single connection here means that eight pads have notes assigned to them like: [D3] [A2] [Eb3] [C#3] [C2] [D2] [[F#2] [Bb2] For the 8 pads resp.

I suppose stand-alone midi drum-pads has similar setups(?) In order to have this covered i suppose lmms need to be able to bind a single key to a midi-channel But, in the referenced issue, the keyboard only allow one channel connection. I suppose a sampler / customized edited soundfont solution, could be 'a' way, but if at all lmms should be made able to handle this scenario, i see this as a situation where:

  • n (8) different AFPs must be allocated to one midi-channel
  • if pad-1 is tapped, then AFP-1 should play, but not the 7 others! But how? Is this too advanced and specific to be addressed at all? Does anyone know if other midi-HW does it the same way, eg -is that a kind of 'standard'?

musikBear avatar Mar 19 '17 12:03 musikBear

@musikBear https://github.com/LMMS/lmms/issues/1460

tresf avatar Mar 19 '17 13:03 tresf

Why are the request in this Issues not being addressed? It's as if they are being swept under the rug for some reason. The mod wheel for Vestige is a must have for automation purposes imho.

Cangle50 avatar Jan 23 '19 10:01 Cangle50

@Cangle50 You are at any moment more than welcome to address any or all of the requests. It will only take most of your spare-time, and you will almost have nothing to explain to other significant ones, about you being glued to a chair infront of a pc, instead of participating in life ..

The devs does an unbelievable job, and nothing is swept anywhere or under anything. Developing takes t i m e, and bug-fixing comes before feature-requests. Be patient, it will come

musikBear avatar Jan 23 '19 11:01 musikBear

@musikBear The mod wheel for Vestige has been requested for almost 5 years now. I don't think revisiting old request are unreasonable, if for no other reason then to remind the dev's that some request are still relevant.

I didn't mean to get under your skin musikBear. I know that the Dev's work hard and I appreciate their efforts, but I had do it. As the old saying goes, the squeaky chair gets the oil.

Cangle50 avatar Jan 23 '19 12:01 Cangle50

The mod wheel for Vestige has been requested for almost 5 years now

"Swept under the rug" suggests blame. We have a zero tolerance on this tracker. Next offense, you're banned.

I had do it. As the old saying goes, the squeaky chair gets the oil.

The proverb is "the squeaky wheel gets the grease". Please appreciate the irony of this statement when moderators have to issue ban warnings.

tresf avatar Jan 23 '19 15:01 tresf

Any news about "Expose MIDI controls" and all sub-points? I know that I necrobump this, but it's really annoying to not be able to use such basic functions with midi controllers on lmms.

Amathadius avatar Jul 28 '19 01:07 Amathadius

@Amathadius Which feature do you need the most in the list? We may prioritize the issue if it's valuable enough.

PhysSong avatar Jul 28 '19 01:07 PhysSong