moja
arduino_midi_library
Our great sponsors
moja | arduino_midi_library | |
---|---|---|
4 | 19 | |
1 | 1,529 | |
- | 1.2% | |
1.8 | 0.0 | |
over 2 years ago | 6 months ago | |
Java | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
moja
-
Sketch of a Post-ORM
I want sum types.
I want a statically-typed way of constructing composable queries that follow SQL rather than reinvent a different thing. It doesn't have to be the same syntax but it has to be the same structuring.
I started writing one[0] and stopped before doing all the boilerplate code generation, having moved on from the JVM ecosystem for the time being. One thing it does is treat most things like sets so we don't end up with N+1 queries. Another trick it uses is collapsing constant expressions via an expression evaluation library[1].
[0] https://github.com/karmakaze/safeql
[1] https://github.com/karmakaze/moja
-
Ask HN: Tools you have built for yourself?
Over the years, I've written many apps and utilities for myself or others (that didn't end up get used). These are the interesting ones I remember. Many not quite complete/usable. Other than hackerer.news none of them are 'up' and running. Some have and others haven't been published as opensource.
- https://hackerer.news HN viewer (source[0]): I use daily so I can see today's top stories in reverse chronological order with mainstream topics sorted to the bottom.
- qwickly[1] keyboard layout: I use all the time as an easier to learn and more comfortable to type than Colemak/Tarmak
- safeql[2]: Java type-safe SQL expression composer that reduces constant expressions and eliminates N+1 queries loading associations by always operating on set relation or array of models.
- moja[3]: Composable computation pipelines for Java: Async, Lazy, Option, Try, Result, Multi (List), Stated, Reader, Logger, Writer.
- gitgrep.com[4] Opensource SaaS version of etsy/houndd (now called hound-search).
- statuspages.me: Status page aggregator with dynamic javascript for scraping each source using selector expressions.
- movies to watch aggregator: with links to sources to watch. It was hard then to get 3rd party deep links into streaming sites so included some torrent links. Got a DMCA phone call, so took it down. Combined thumbnails, summaries, actors(?), imdb ratings, links.
- java2cpp: Translate a moderately sized java app with test suite to c++, not 100% required final manual fixups.
- swift2java (or maybe it was java2swift, it's fuzzy now): translate Swift to Java obviously, using ANTLR4. Not 100% required final manual fixups.
- gui2log: to make an ASCII rendition of on-screen GUI widgets into an application log file when form submitted, so users couldn't complain that they saw X, but got Y.
- some basic stats/ML algorithms: k-nearest neighbour, RNN back-propagation, etc?
- Java in-memory DB: Small SQL-like memory tables with indexing/searching.
- wwwsqldesigner: This exists as opensource and I extended it to infer foreign key relationships based on naming conventions used in a MySQL schema. It was great for zooming around a large ERD.
- tracelog: combination of microservices parent/child span logging and generated high level events shown as a sequence diagram. Integrated with Loggly for full/verbose logs of selected high-level events.
- pcl2bmp downscaler: Reduce high resolution HP LaserJet (PCL5) printed to file to lower resolution bitmap pages for screen display (before retina DPI was common). It aimed to shrink same-color areas and preserve black/white transitions while reducing.
[0] https://gitlab.com/karmakaze/hackerer-news
[1] https://github.com/qwickly-org/Qwickly
[2] https://github.com/karmakaze/safeql
[3] https://github.com/karmakaze/moja
[4] https://github.com/gitgrep-com/gitgrep
-
Ask HN: What is the most impactful thing you've ever built?
Sure, SafeQL[0] SQL library. It's been sitting in a close but not enough to promote state for a while. The main thing I wanted was to have generation of the bindings to existing DB schema. I also want to combine using Moja[1] datatypes for uniform handling of single/multi, normal/async, and errors.
[0] https://github.com/karmakaze/safeql
[1] https://github.com/karmakaze/moja
-
C# 11 Features Now Previewing in Visual Studio: Generic Attributes and More
I made a similar thing for Java moja Options as needed other projects. It sort-of works but it's not great.
arduino_midi_library
-
Árduino pro mini hid
take a look here
- Arduino atmega 2560 midi out on tx1
-
Ask HN: What is the most impactful thing you've ever built?
The Arduino MIDI Library [1]. Back in 2009, I learned C++ to build it and control my guitar effects pedals with custom electronics as part of my engineering degree.
[1] https://github.com/FortySevenEffects/arduino_midi_library
-
Help to made a piano midi and cv controller for eurorack (see my comment below).
Your project can be broken up into a number of subprojects. For keyscanning you don't need additional hardware, just the pins from the ribbon cables going to the arduino's digital pins and ground. Since the keys are just switches (two per key, the time difference between the two switches closing giving the source of velocity), you could start with some examples from the Arduino MIDI library (https://github.com/FortySevenEffects/arduino_midi_library). To test MIDI sending you don't even need to start from the keybed just yet, and if you do, you can start with a single key. Once you've got that part figured out end to end (key press/release generates note on/off events) you can work on iterating through the matrix, CC controls etc. MIDI out can be done in different ways. With a 5 pin DIN plug you'd just need two 220 ohm resistors.
-
What frequency should a timer interrupt be to receive MIDI messages?
On an Arduino compatible platform the configuration of the baud rate at the bare metal layer is taken care of by the library when you call its begin() method. Looking at the example code included with the library it appears that there are no timer interrupts or anything like that required of you in order to use it. Another thing that jumps out is that the call to read() returns a non-zero value if anything has been received that you should use to predicate whether any further attention needs to be spent on it by your code. You may know this but it wasn't apparent from the loop() { MIDI.read\`() }` example that you gave above.
-
FastLED run Parallel & Simultan multiple Led Strips
As i have started to combine this with Midi Implementation from FourtySevenEffects lib, i only have done a quick test with two/three strips and did discover follwing issue(s):
-
Reading MIDI stream
Using a library for the midi shield you can register two functions as callbacks. One callback for NoteOn(...) messages and one for NoteOff(...) messages. But thre is much more. In the end the source of truth should always be the docs for the library itself.
-
Is it possible to build your own Teensy? What's the catch?
Click the link to github (second link in the article) and there's all the source code: https://github.com/FortySevenEffects/arduino_midi_library
-
Looking for the smallest possible MIDI hardware (end purpose: momentary pitch shifting)
Here’s a library that might work.
-
Declared "MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);" and MIDI is still Out Of Scope!
Solution from GitHub here:
What are some alternatives?
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
Control-Surface - Arduino library for creating MIDI controllers and other MIDI devices.
gitgrep - Lightning fast code searching made easy
FastLED_examples - FastLED example code, tests, demos, etc
safeql - Composable / async / functional / type-safe / parallel-pipelined queries and relations without SQL injection or N+1s.
Arduino-AppleMIDI-Library - Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
Norm - The SQL generation library you already know how to use.
arduino-midi-recorder - Let's build an Arduino-based MIDI recorder!
openship - multi-channel fulfillment at scale
FastLED - The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github "issues" just for tracking library bugs / enhancements.
midi2cv - Arduino-based MIDI to CV converter
HelloDrum-arduino-Library - This is a library for making E-Drum with arduino.