Comments (2)
This is more relevant in the libdaisy repo, but once MIDI clock has been added to the MIDI parser there, you could very easily send a trigger out based on the MIDI clock.
Here's what a simple clock-to-trigger example might look like once that's been added
// global/static variables in this example
dsy_gpio trigger_output;
uint32_t time_set;
uint32_t dur = 6; // 6ms gates
// Typical Switch case for Message Type.
void HandleMidiMessage(MidiEvent m)
{
switch(m.type)
{
case NoteOn:
// do something . . .
break;
case Clock:
// Sets Trigger output high, and stores the time in ms that it was set high.
dsy_gpio_write(&trigger_output, 1);
time_set = dsy_system_getnow();
break;
default: break;
}
}
// elsewhere (in callback or main)
// This shuts the trigger off after 6ms
if (dsy_system_getnow() - time_set > dur)
dsy_gpio_write(&trigger_output, 0);
You could probably already do a work around where you do this on reception of a NoteOn message (using the above code, but moving it into the NoteOn section). And then just setting up a MIDI track that sends quarter notes or eighth notes for you to sync to on your eurorack.
from daisysp.
Thank you, that makes sense the workaround you've mentioned. i could try to do that... would also be useful for transmitting the shuffle/swing of the master sequencer into euro as well coz often clocks don't transmit that shuffle.
from daisysp.
Related Issues (20)
- Overriding dsp.h HOT 5
- String.h breaking compilation after directory refactoring HOT 4
- Emscripten support HOT 1
- Problems with the SVF Filter at high cutoff frequencies HOT 7
- Building on a Raspberry Pi ? HOT 4
- Shaper oscillators emit DC HOT 2
- Style guide suggests slow code passing by const & HOT 1
- ADSR produces small step and audible click in decay or release phase HOT 4
- C++ 11 compatibility HOT 9
- Add platform dependent assert macro HOT 3
- Pitch shifter accepts transpose < 0.0f but does not work HOT 1
- documentation build action is failing HOT 1
- std::sin usage in Looper HOT 3
- Svf filter does not like to be modulated HOT 3
- CMake errors HOT 4
- moogladder tanh incorrect HOT 2
- ReverbSC does not initialize at 96kHz HOT 2
- SetFreq on VariableShapeOscillator seems to not work HOT 2
- Envelope timings incorrect HOT 1
- typo in fastroot() ? HOT 3
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 daisysp.