Giter Site home page Giter Site logo

Comments (3)

bvssvni avatar bvssvni commented on June 1, 2024

I also experimented with audio and added grab support at top level to allow pre-allocation of data such as arrays.

E.g.

fn main() {
    data := grab [1, 2, 3, 4, ...]
    ...
}

Is this a feature that you are looking for?

from dyon.

bvssvni avatar bvssvni commented on June 1, 2024

I haven't looked into the cloning of the runtime module. Do you have an idea of where in the Dyon codebase this is caused?

from dyon.

obsoleszenz avatar obsoleszenz commented on June 1, 2024

I also experimented with audio and added grab support at top level to allow pre-allocation of data such as arrays.

E.g.

fn main() {
    data := grab [1, 2, 3, 4, ...]
    ...
}

Is this a feature that you are looking for?

Didn't know about grab, that looks useful :)

I haven't looked into the cloning of the runtime module. Do you have an idea of where in the Dyon codebase this is caused?

I looked again and i think it should be fine as it's just an Arc that is getting cloned. I will have to look again into it. But I found another way, I'm now passing in the midi message as a vec4 which works well.

In fact I can now do this which is already quite helpful:

fn init_state() ~ mut state {
    state.counter := 0
    state.name := "Test"
}

fn on_midi(midi_in: vec4) ~ mut state {
    state.counter += 1

    status := x(midi_in)
    channel := y(midi_in)
    note := z(midi_in)
    value := w(midi_in)
    value_normalized := value / 127.0

    if note == 1 {
        dsp_set(ID_VOLUME_CH0() + channel, value_normalized)
    } else if note == 2 {
        dsp_set(ID_GAIN_CH0() + channel, value_normalized)
    }
    // Todo:
    // send_midi(0xB1, 12, dsp_get(ID_DB_METER_CH0()) * 127.0)
}

from dyon.

Related Issues (20)

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.