PortMidi / portmidi

portmidi is a cross-platform MIDI input/output library
Other
118 stars 33 forks source link

lua bindings #69

Open brainlessbitch opened 6 months ago

brainlessbitch commented 6 months ago

is there a chance lua bindings could be added?

rbdannenberg commented 6 months ago

I think I have my hands full and don't use Lua, but I agree it would be great. Maybe you could ask in "lua land" if there's any work in this direction or if there is any information I can help with.

brainlessbitch commented 6 months ago

i wish i knew more lua devs, i'm not good enough at either c or lua to be able to make the bindings, but i think i could write some basics if i had a list of all the functions and their return values that would help. i know it's on the wiki but an itemized list would be much better. also, if i'm able to write it should i add it do a personal repo or would you wanted it added to the portmidi organization?

rbdannenberg commented 6 months ago

I think the best list is portmidi.h, which is all the externally visible symbols/functions of PortMIdi and has documentation as well.

It would be best to develop outside of this portmidi repo, and we could link from here to lua support.

brainlessbitch commented 6 months ago

okay, what about porttime? i use that in my program as well

rbdannenberg commented 6 months ago

Good point. You could use portmidi with your own time routines, but the default is to use PortTime, and since it is small, we include the sources in the PortMidi library so you can access everything from one library. The same is true for pmutil.c, which can be used independently of PortMidi (pmutil.c provides lock-free queues), but it's included in the PortMidi library.

So the complete list is pm_common/portmidi.h, porttime/porttime.h, and pm_common/pmutil.h