Code Monkey home page Code Monkey logo

microbrust's Introduction

Microbrust: A Linux interface to Arturia Microbrute

microbrust

Intrudoction

Microbrust is a Linux interface to Arturia Microbrute written in Rust.

Disclaimer

I implemented this as a first project when learning Rust, so probably the code quality is awful. Hopefully, it will look better in the future.

Changelog

You can check out the changelog here.

Usage

Clone and run cargo run in the project's directory. The UI is pretty self-explanatory. Use Escape to exit.

Requirements

Requires Rust, Cargo and ALSA to compile.

Questions and issues

Use Github's issue tracker for bug or feature requests. Drop me a line if you want to ask about anything that is not a bug/feature request.

License

You can check out the full license here This project is licensed under the terms of the GNU GPLv3.0 license.

microbrust's People

Contributors

jmatraszek avatar reiniermaas 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

microbrust's Issues

cargo fails to build microbrust

marcipan@aspirium:/mbc/microbrust-master$ ls
Cargo.lock Cargo.toml CHANGELOG.md img LICENSE README.md src
marcipan@aspirium:
/mbc/microbrust-master$ cargo run
Updating registry https://github.com/rust-lang/crates.io-index
Downloading num-integer v0.1.32
Downloading num-iter v0.1.32
Downloading rand v0.3.14
Downloading bitflags v0.2.1
Downloading semver v0.1.20
Downloading memalloc v0.1.0
Downloading winapi v0.2.8
Downloading tempfile v2.1.4
Downloading pkg-config v0.3.8
Downloading num-traits v0.1.35
Downloading rustbox v0.9.0
Downloading rustc_version v0.1.7
Downloading midir v0.2.0
unable to get packages from source

Caused by:
failed to parse manifest at /home/marcipan/.cargo/registry/src/github.com-48ad6e4054423464/midir-0.2.0/Cargo.toml

Caused by:
could not parse input as TOML
/home/marcipan/.cargo/registry/src/github.com-48ad6e4054423464/midir-0.2.0/Cargo.toml:20:28 expected a key but found an empty string
/home/marcipan/.cargo/registry/src/github.com-48ad6e4054423464/midir-0.2.0/Cargo.toml:20:28-20:29 expected ., but found '

Compile Error "patterns aren't allowed in methods without bodies"

on a reasonably clean ubuntu 17.10 installation i'm getting the following compile error, confirmed on 3 different but similar machines:

   Compiling pkg-config v0.3.8
   Compiling bitflags v0.2.1
   Compiling rustc-serialize v0.3.19
   Compiling semver v0.1.20
   Compiling winapi v0.2.8
   Compiling memalloc v0.1.0
   Compiling termbox-sys v0.2.9
   Compiling bitflags v0.3.3
   Compiling winapi-build v0.1.1
   Compiling num-traits v0.1.35
error[E0642]: patterns aren't allowed in methods without bodies
   --> /home/gtz/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/serialize.rs:147:45
    |
147 |                                             &f_name: &str,
    |                                             ^^^^^^^

   Compiling libc v0.2.15
   Compiling kernel32-sys v0.2.2
   Compiling rand v0.3.14
   Compiling rustc_version v0.1.7
   Compiling alsa-sys v0.0.8
   Compiling num-integer v0.1.32
error: failed to run custom build command for `alsa-sys v0.0.8`
process didn't exit successfully: `/home/gtz/Downloads/microbrust/microbrust/target/debug/build/alsa-sys-8585bd72a32905b6/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"alsa\"`: No such file or directory (os error 2)"', src/libcore/result.rs:916:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.

warning: build failed, waiting for other jobs to finish...
error: aborting due to previous error

error: Could not compile `rustc-serialize`.
warning: build failed, waiting for other jobs to finish...
error: build failed

Feature: Load/Save sequences

The current v1.1.0 works absolutely fantastic!

The only feature I see missing from the official tool is saving/loading (and maybe resetting?) of the sequencer.

Do you think it would be possible to implement this as well?

error: failed to run custom build command for `termbox-sys v0.2.9`

Building a microbrust docker image fails. Using rust 1.27.2 based on Debian stretch

Step 5/5 : RUN RUST_BACKTRACE=1 cargo run
 ---> Running in 0d970ee52bad
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading rustbox v0.11.0                                                                                                                                                
 Downloading midir v0.5.0                                                                                                                                                   
 Downloading gag v0.1.9                                                                                                                                                     
 Downloading termbox-sys v0.2.9                                                                                                                                             
 Downloading bitflags v0.2.1                                                                                                                                                
 Downloading num-traits v0.1.35                                                                                                                                             
 Downloading libc v0.2.42                                                                                                                                                   
 Downloading tempfile v2.1.4                                                                                                                                                
 Downloading rand v0.3.14                                                                                                                                                   
 Downloading winapi v0.2.8                                                                                                                                                  
 Downloading kernel32-sys v0.2.2                                                                                                                                            
 Downloading winapi-build v0.1.1                                                                                                                                            
 Downloading rustc_version v0.1.7                                                                                                                                           
 Downloading semver v0.1.20                                                                                                                                                 
 Downloading memalloc v0.1.0                                                                                                                                                
 Downloading nix v0.9.0                                                                                                                                                     
 Downloading bitflags v0.3.3                                                                                                                                                
 Downloading alsa v0.2.0                                                                                                                                                    
 Downloading bitflags v0.9.1                                                                                                                                                
 Downloading void v1.0.2                                                                                                                                                    
 Downloading cfg-if v0.1.3                                                                                                                                                  
 Downloading alsa-sys v0.1.2                                                                                                                                                
 Downloading pkg-config v0.3.8
   Compiling termbox-sys v0.2.9                                                                                                                                             
   Compiling alsa v0.2.0                                                                                                                                                    
error: failed to run custom build command for `termbox-sys v0.2.9`                                                                                                          
process didn't exit successfully: `/app/target/debug/build/termbox-sys-096fdece95eb9796/build-script-build` (exit code: 101)                                                
--- stdout                                                                                                                                                                  
running: "git" "clone" "https://github.com/nsf/termbox" ".termbox"                                                                                                          

--- stderr                                                                                                                                                                  
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libcore/result.rs:945:5      
stack backtrace:                                                                                                                                                            
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:463
   5: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:350
   6: rust_begin_unwind
             at libstd/panicking.rs:328
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:71
   8: core::result::unwrap_failed
             at /checkout/src/libcore/macros.rs:26
   9: <core::result::Result<T, E>>::unwrap
             at /checkout/src/libcore/result.rs:782
  10: build_script_build::run
             at ./build.rs:86
  11: build_script_build::setup
             at ./build.rs:26
  12: build_script_build::main
             at ./build.rs:9
  13: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  14: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  15: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  16: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:374
             at libstd/rt.rs:58
  17: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  18: main
  19: __libc_start_main
  20: _start

warning: build failed, waiting for other jobs to finish...
error: build failed
The command '/bin/sh -c RUST_BACKTRACE=1 cargo run' returned a non-zero code: 101

Dockerfile is:

FROM rust:1-slim

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        libasound2-dev \
        pkg-config

COPY . /app
WORKDIR /app

RUN RUST_BACKTRACE=1 cargo run

Could not compile `alsa-sys`

On latest git:

   Compiling alsa-sys v0.1.2
error: struct field shorthands are unstable (see issue #37340)
    --> /home/dreamer/.cargo/registry/src/github.com-1ecc6299db9ec823/alsa-sys-0.1.2/src/lib.rs:2152:16
     |
2152 |         Self { storage, align: [] }
     |                ^^^^^^^

error: aborting due to previous error

Build failed, waiting for other jobs to finish...
error: Could not compile `alsa-sys`.

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.