Giter Club home page Giter Club logo

loopstrument's People

Contributors

oliverlsanz avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

a8t

loopstrument's Issues

Status calculation is wrong in Bitwig.midiOut

Sorry, this isn't an issue, more of a question.

On this line:

const status = type << (4 + channel);

Can you explain adding channel here? Doesn't it shift the type bits too far?

According to the Linnstrument midi docs, CC should be 1011cccc where c is the channel. To me, this should be const status = type << 4 | channel);, where the << shifts 4 spaces left and | channel flips the appropriate bits to set the channel.

But... it seems your code works.

What do you think?

Refactor the different interface modes

We should have different modules configured for the default and "interface collapsed" states (instead of hard coding both behaviors into the modules).

Allow duplicating clips

For example, a Long press gesture on an empty track to duplicate there the currently playing clip on that track, if any.

Allow collapsing the control interface

Currently you can press the split button to make the full linstrument play notes.

However, the interface lights won't dissapear. It would be cool if they do.

Also, a minimum interface could still exist (like a cell that tells if there is a recording in progress). Better if it is interactive, but may require setting the row offset to no overlap and map the notes in bitwig (unless we use the lowest or highest note).

Change required row offset to "no overlap"

This will allow a fine grained control over the interface, instead of relying on not repeated notes across a single channel in a +5 semitones row offset.

It will require a map of the notes in the script, to achieve the desired row offset.

Add control over one clip when the interface is collapsed

The collapsed interface is good for recording clips that need more space. It will be good to be able to control the clip you are recording.

May be useful

  • See and change the current clip state (empty / recording / playing).
  • See/toggle the current overdub state (but think it is a no-do)
  • Access to the undo/redo buttons (also a no-do).

#11 will allow a better placement of those controls.

Slide gesture

A slide gesture could be used to:

  • Control different bitwig parameters
  • Add new options to the interface without adding more buttons (like switching between different pages of tracks).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.