garrensmith / abletonpush

A library for working with the Ableton Push in the browser
Apache License 2.0
61 stars 10 forks source link

Add drum display #4

Open garrensmith opened 6 years ago

garrensmith commented 6 years ago

Currently this library automatically sets the push into an isomorphic layout for playing notes. It would be nice to also get the pads to layout for playing a drum rack.

txbrown commented 6 years ago

@garrensmith perfect as this is one of the things I wanted to add as well. Perhaps even integration with multiple midi devices? If r separate te music logic and reuse for implementation with other devices.

garrensmith commented 6 years ago

Sweet. That is cool. Let me know how I can help. I have a push and getting a akai mpd218 so I can test with those.


From: Ricardo Abreu notifications@github.com Sent: Saturday, August 18, 2018 7:49:15 PM To: garrensmith/abletonpush Cc: garren smith; Mention Subject: Re: [garrensmith/abletonpush] Add drum display (#4)

@garrensmithhttps://github.com/garrensmith perfect as this is one of the things I wanted to add as well. Perhaps even integration with multiple midi devices? If r separate te music logic and reuse for implementation with other devices.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/garrensmith/abletonpush/issues/4#issuecomment-414075154, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAK9AsfdYUTAt4LHtiQDeOwsqHdUB72Rks5uSFObgaJpZM4WCjXi.

txbrown commented 6 years ago

@garrensmith I am thinking of doing this in a way similar to how it works on Ableton Live, where you have about 16 drum positions and you can paginate by using the slider on the left. Thoughts?

garrensmith commented 6 years ago

Yes awesome. I think lets keep it simply for the first attempt and start with just the 16 drum positions. We can add in the slider later.

txbrown commented 6 years ago

@garrensmith I made an initial play to see if I could achieve this. I noticed I would have to refactor a bit of the index.js code, perhaps break it down into 2 parts: isomorphicMode.js and drumMode.js and use each based on options passed by the lib consumer.

I have also added webpack to build dev and production (which uses babel-loader and will allow us to have a smaller footprint in package and offers future flexibility), and also for debugging locally with webpack-dev-server, which allows to quickly make changes to lib and get instant feedback with hot-module-reload.

Let me know if these steps make sense and if there is a better approach you may suggest.

Cheers

garrensmith commented 6 years ago

Ok great. Yes I was thinking you would have to do similar. Maybe create an examples folder with an index.html that can work with webpack-dev-server and that can have an example of using the drumMode.js. I can add an isomorhpicMode.js later. I've given you write permission to this repo. If you want you can push your code onto a branch and we can collaborate on it a bit.