chrismaltby / gb-studio

A quick and easy to use drag and drop retro game creator for your favourite handheld video game system
https://www.gbstudio.dev
MIT License
8.49k stars 469 forks source link

Add MIDI In support #1270

Open Rampoina opened 1 year ago

Rampoina commented 1 year ago

Is your feature request related to a problem? Please describe. Other trackers like OpenMPT support inputting the notes with a MIDI controller.

Describe the solution you'd like It would be nice to have support for entering notes with a MIDI controller from the music editor.

Aaronrobbins commented 1 year ago

The need for a Bitsy style music generator in GB Studio is huge. The tracker workflow makes an accessible and new developer friendly engine very hard to to use or teach on.

pau-tomas commented 1 year ago

@Aaronrobbins what would you change from the tracker to make it more friendly and easy to use?

Aaronrobbins commented 1 year ago

It's a solid question, appreciate you asking it. I was honestly talking about the workflow using Milkytracker, Bassoon or OpenMPT which isn't available on Mac. I wasn't talking about the internal tracker workflow, I apologize for not making that clear, but lets talk about that tracker for a sec, what would I add to make it better:

Amazing engine. No complaints. Just my out-loud thoughts :)

Aaronrobbins commented 1 year ago

@pau-tomas Also, thanks for your contributions to the project.

pau-tomas commented 1 year ago

Thanks for the feedback @Aaronrobbins !

color the grid to match the minor and major keys, light grey and dark grey have the keyboard roll test currently selected sound, there is a test button on the right, but I think users expect the piano roll to make noise have a drop down selection for a few scales, if a scale is selected in the dropdpwn only notes in that scale are available, other notes are grey'd out or unclickable, and an option for no scale/all notes.

Those are good suggestions and the last two are on my todo list for a next version

only show the instruments that are available for the currently selected duty/wave/noise, the select the duty then twirl down workflow confuses people.

That's a tricky one. The instrument list to the left was initially just there to be able to select the instruments to edit them in the right sidebar, then I added the option to also select the default instrument to add to the song (which can also be selected with the toolbar dropdown). It's not ideal, and need to think about it because in the tracker view there's no way to select a specific channel so the behavior should be different.

patterns should be added on the left under songs and above instruments, its very unclear that to ad a new pattern you need to click a segment and then choose the drop down.

Is the [+] button not appearing for you in the pattern list? that'd be a bug if not

Aaronrobbins commented 1 year ago

Amazing info and reply, thank you for the updates and efforts towards GB studio. I really cant express what a wonderful and important engine it is.

I am probably not understanding this correctly but for me, there is a difference between segments and patterns. Segments are the linear arrangement of song blocks. Each segments/blocks can hold 1 pattern from the patterns you've created. To make a song you add segments which determines the overall length of the song and then assign patterns to that segment which determines when the pattern plays. A 3 segment songs with 2 patterns available could go: 1,1,1 or 1,2,1 or 2,2,2.. and so on.

I know you know all this and created some or all of it :) , so I am just trying to let you know how I see it as a user and teacher of it.

In my opinion when you hit the plus button in the patterns areas, you are really adding a segment and then assigning a pattern to it with the drop down. The new pattern options is actually in the drop down labeled 02(new) or 03(new) or however many you have. This creates a UI issue where you have a 01 stacked over a 01 and students don't understand what the difference is between the two numbers or how they are related.

I don't get a say, and I am very appreciative for whats been created , its totally usable, all day, its great, but if I did, I would say move patterns to the left and allow them to be renamed so you can call them Chorus, ChorusNight, MelodyDay and so on, keep segments how they are now but instead of the dropdown showing numbers it would show the name of the patterns created on the left.

Again thank you for your contributions and work. And for allowing me to write a minor novel on the topic. The GB team has already made an important engine to the history of games and game dev teachers like me, Im sure whatever you cookup next will be just as amazing.