Code Monkey home page Code Monkey logo

bela-rs's People

Contributors

andrewcsmith avatar l0calh05t avatar padenot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bela-rs's Issues

Define a License

Currently, this crate's license is not defined. We should add a LICENSE file and a license field to Cargo.toml. My personal preference would be license = "MIT OR Apache-2.0" like many/most Rust crates.

As far as I can tell the only committers so far are @andrewcsmith, @padenot, and I. If everyone is ok with it, I could set up a pull request.

Add support for MIDI and other Bela support libraries

While core libbela support is sufficient for pure audio processing, MIDI and other features require using Bela support libraries. Probably the most important ones are the communication-centric libraries, as the signal processing libraries mostly have crates that serve the same purpose.

Many of these libraries have C++ APIs. In the case of MIDI, there is both a C and a C++ API, resulting in two possible approaches to making bindings:

  1. By adding automatically generated C bindings to bela-sys (some early experiments can be found here: https://github.com/l0calh05t/bela-sys/tree/midi) and wrapping them safely in bela-rs as done for libbela (albeit with some complications and lacking some features)
  2. Directly creating a safe wrapper for the (more full-featured) C++ API using cxx, but this probably requires some additional C++ code as well and I personally have no experience with cxx yet.

No matter which approach is taken, this could feasibly be a separate crate, although I'd prefer to keep the two linked, as otherwise the effort of ensuring that the Xenomai and Bela libs are linked has to be duplicated.

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.