GithubHelp home page GithubHelp logo

Comments (10)

lathoub avatar lathoub commented on July 3, 2024

Hi alf45tar

Thank you for offering help, much appreciated - all help is welcome. Thanks for the kind words.
I'm very impressed by your Pedalino work, and see indeed that you have already implemented the MIDI BLE stack. Nice!

Do I understand it correctly that you are looking to offload your MIDI BLE to this library so that you can focus on the Pedalino, without having to maintain the MIDI BLE code yourself? If so, I'd be more than happy to welcome your code.

I'm currently looking into aligning the MIDI interface code from the 47effects, AppleMIDI and this library. (Even going so far as have an additional library with the stubs for MIDI - I see you have also created all the codes, MidiType (in MidiTimeCode.h), ... that can be shared between the projects. Not sure if 47effects would go along. Just an idea at this stage)

I look forward to your comments and help
Lathoub

from arduino-ble-midi.

alf45tar avatar alf45tar commented on July 3, 2024

Yes, I am looking for a BLE MIDI library and you have the required expertize to create the reference library for BLE MIDI like you did for RTP-MIDI.
I started implementing BLE MIDI because I didn't find anything ready on the shelf.
If you can take care to it I can focus on Pedalino.

The API aligning job is very appreciated too.

Do you want me to extract the BLE code from Pedalino source code or is it clear to you what to keep and what to delete?

Thanks
alf45tar

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

OK, understood - sounds like fun.
I will have a first stab at extracting your code from Pedalino and ask you for feedback.

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

All BLE MIDI related code has been copied over, @alf45tar pls check if this is done correctly.

Output should kinda be OK, input not so much - the incoming message parsing is incomplete, the only input callback that is called is NoteOn. Also, no code optimisation has been done. All code sits in Ble_esp32.h

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

I should also align better with the APIStyleGuide and LibraryTutorial (eg on function naming: capitalise the first character? Use of underscore in function and file names)

from arduino-ble-midi.

alf45tar avatar alf45tar commented on July 3, 2024

Good job!

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

Thanks @alf45tar your code was nicely segmented, I only had to cut and paste.
I just introduced an abstract class for MIDI input and output - BLE specialised it, I will also add it to the AppleMIDI library (and possibly later also the FortySevenEffects/arduino_midi_library

Can you check the concept of the abstract midi interface lib and give feedback?

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

generic MIDI interface in its own Git: https://github.com/lathoub/MIDI

from arduino-ble-midi.

lathoub avatar lathoub commented on July 3, 2024

Skeleton finished, for most messages (not sysex). @alf45tar , can you verify if the current version fits in Pedalino?

from arduino-ble-midi.

alf45tar avatar alf45tar commented on July 3, 2024

It works like a charm. I am using it for my new project PedalinoMini (https://github.com/alf45tar/PedalinoMini) but I will use it for Pedalino too.

I suggest to rename sendMidi method because it doesn't send anything but it triggers callbacks on receipt of MIDI messages.

One more thing. If you want to complete your portfolio of MIDI libraries you should create one for ipMIDI protocol. It should be not too hard because the code is in my Pedalino and you already own the abstract MIDI framework.

Very good job.

from arduino-ble-midi.

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.