| Commit message (Collapse) | Author | Files | Lines |
|
It seems to memory leak so needs to be fixed, but this was before I had
to return my work MacBook - until I get my own!
|
|
Thought I'd commit this first, since it'll be some Objective-C stuff
coming (tested it out in another mini probe). Mostly has stuff similar
to Linux so probably should abstract some out to *nix common. But uses
IOKit to get into the typing events.
Will use Obj-C for now for sound, since it'll probably be a NSSound
thing, hooked up with NSCache (like Linux) to reduce loading into NS
format multiple times. Also probably would need to free the sound object
on finish sound, and not sure how I'd do Obj-C delegates from C... it
would be fun to figure it out though eventually
Also switched the Makefile to use clang, it's warnings do seem to be
nicer :) and is what `gcc` is aliased to on a Mac by default anyway.
|
|
|
|
|
|
Oh boy this was a bit of a hassle lol - dynamic loading was the easiest
part... but then came both sound and x11
Using SDL for now but I'd really like to change it for even lower layer,
but then I might have to make my own mixer... oh no.
|
|
This should be better, maybe the variable names could be better though.
Init is more extensible, we take in a 'board_data' struct on the plugin
end that has everything it needs (mainly function pointers for now).
Then, a 'board' struct is given back to the main Clak runtime, with
everything it needs to know (again, mainly function pointers).
It is a bit weird that the board is not stored with Clak but as a
pointer to the dynamically loaded bit, but not sure.
|
|
The .h files are pretty weird, should look at other C projects to see
how they load plugins. This function pointer business with typedefs is
kinda weird, not sure where they should live.
|
|
Not sure if I'm really doing it in the best way possible. Feels a bit
weird that some place assumes the existence of other functions.
|