Comments (7)
Iād love to see this too. I have a more memory efficient and fully featured version of that script you linked to on my machine. Iām traveling at the moment but will push an update once Iām home next week.
from crow.
I've started merging the i2c2midi code into the firmware here, currently compiles but untested: https://github.com/eethann/crow/tree/i2c2midi_support
from crow.
I just uploaded a compile of the first rough implementation and it seems to be working. Yay. I'll work on smoothing it out a bit and maybe getting more coverage of the i2c2midi commands.
from crow.
Nice work! I've just pushed the version I mentioned above to my repo: https://github.com/mreid/crow-i2c2midi/blob/main/i2c2midi-compact.lua
From memory, it gets rid of the range checking of the original to save memory and adds some extra commands. It also has a simple example usage at the top.
from crow.
Awesome. I just tried with the added CC out ops and they work. So fun!
I also tried adding a MIDI IN CC getter, but it's not working immediately. I'll push and provide more info.
from crow.
I figured out the CC getter (have to pass both channel and control number as args) and got the midi getters basically working. I've published a release so others can try it out here: https://github.com/eethann/crow/releases/tag/4.1.0-i2c2midi-rc1
I haven't gotten to any documentation yet. There's one problem that might require a change to some deeper code in the crow firmware: the second arg is used to pass the control number to query, but the event callback function is only passed the first argument. This makes it impossible to handle a specific controller number in the callback. The solutions I can see are either
- Generate separate getters for every CC controller number, so you only pass the channel (seems less than ideal, but would follow the fader implementation)
- Update the callback handler to pass an args table or an
arg2
property back to the controller so we can check the specific controller that is being reported on (I think this would be preferable if not prohibitive)
Interested in any thoughts or recommendations about those two.
from crow.
hey folks! apologies for the long delay here - i didn't realize this was sitting here waiting!
i took a quick look at the linked forks & the core ii descriptors look good. if i understand correctly, the big block of commented out code is the example of how to incorporate it into a crow script. i assume the runtime-memory usage comes from generating function stubs for every command.
could someone link me to (or explain):
a) example of a crow setter & getter using this
b) the transmitted bytes that match to the above
my hope is we can find a way to use the "pickle"/"unpickle" C-extensions of the ii description file, to avoid needing to create stub-functions for every command.
if that fails, we could look into a metatable solution so all the commands can share the same function. i'd prefer to avoid this and keep everything within the automated ii code generation land!
from crow.
Related Issues (20)
- ASL is running at half speed HOT 4
- improve & add documentation HOT 6
- when using `input.mode = 'clock'` sense start/stop
- memory allocation issues with new modules HOT 1
- 'make -j' build successful, but with errors HOT 2
- Updates needed for Disting EX ii support
- `CROW.Q1` gives `ii lines are low` when 2 crows are on bus HOT 4
- ASL modulations HOT 1
- Clear script by self-patching on boot HOT 1
- ceify the metro lib HOT 3
- Clock & Metro libraries are slightly out of sync
- v1.1 hardware changes HOT 8
- v4.0.2RC fails when accessing `input` in druid HOT 2
- Firmware compilation fails under Docker (Windows) with missing GLIBC_2.27 HOT 5
- script clear doesn't seem to purge everything (v4.0.3)
- clock.sync to values less than 1 can cause rapid-firing (v4.0.3) HOT 1
- Crow can fail to boot with Doepfer PSU-3 HOT 3
- tuning issues HOT 2
- simultaneous use of teletype queries and norns crow.send crashes crow HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crow.