-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ctlra v1 #203
Ctlra v1 #203
Conversation
This is an import and rework of previous POC of the Ctlra library and Luppp. The initial code had many rebase conflicts with Luppp (it was done during Nov 2016, and as a POC for the TCC scripting components, hence was not good quality and each commit wasn't well split - hence this single bulk commit). Signed-off-by: Harry van Haaren <[email protected]>
Signed-off-by: Harry van Haaren <[email protected]>
Signed-off-by: Harry van Haaren <[email protected]>
Signed-off-by: Harry van Haaren <[email protected]>
Ctlra devices now being accepted by Luppp :) Signed-off-by: Harry van Haaren <[email protected]>
This enables initial prototyping Signed-off-by: Harry van Haaren <[email protected]>
Signed-off-by: Harry van Haaren <[email protected]>
Hi @harryhaaren, I am trying to compile this branch but am failing to tell Luppp about Ctlra. Is it correct to compile Ctlra separately (with |
Hey @coderkun ; good question! You must install Ctlra to make Luppp pick it up:
Then in Luppp
Make sure that you have "libtcc" installed too, the Luppp implementation depends on it. Good luck, and post back if you're having issues. Cheers! -H |
@harryhaaren, I would really like to avoid installing Ctlra system-wide. Therefore I tried to install it in Cltra
Luppp
So the
Investigating further reveals that I might be missing the AVTK library:
Unfortunately OpenAV-AVTK does not ship with a PKG-Config file and also does not provide an “install” target, does it? Sorry for bothering you with these environmental issues … |
@coderkun - nice work - you're making good progress! Note that there are now two (very similarly named) UI toolkits, AVTK (the old C++ one) and AVTKA (which Ctlra uses, and is a simpler plain-C re-write). Ctlra is looking for AVTKA. You can install it using the same method as you did for using Ctlra, by prefixing the PKG_CONFIG_PATH env var, and then building Ctlra, and after that Luppp. There are ways to make Luppp download / compile Ctlra / Avtka directly (using Meson), which would remove this issue for you. I'll consider adding it ASAP after merging this - to make it easier to test / deploy. Thanks for your work on this - let me know if the above helps enough, or if I should prioritize adding the "automated" download / compile of Ctlra/Avtka for Luppp. |
Some progress here. First, thanks for the hint re “Avtka”, @harryhaaren, I had the wrong one. To summarize first, I am able to build all three libraries/application but have issues with Fix Avtka depFirst I had to fix Avtka’s “gd” dependency to be lowercase (“GD” does not find it for me) Compile Avtka, Cltra and LupppThen I build all three libraries/applications with the same commands (though
Run LupppFinally I run Luppp with the following
ctlra_test.cThe last commad starts Luppp properly but complains about I am not sure if these additional issues are due to my environment or due to one of these steps. But it some progress which I want to document. Let me know, if this is not the right place for that. |
@coderkun - great progress! The last steps are to copy a few files to the "build" folder. Again this step should be made automatic - or somehow easier for testing, alpha quality code here. From Ctlra, copy From the build dir, copy the "luppp_script_api.h" file:
Finally a header called "pstdint.h" is required,
At the end, there should be beside the Note: the
Let me know how that goes - its the last step I think... -H |
The build etc. all works fine now (using
@harryhaaren, I am not sure what I am doing wrong. Do you have any clue or any hint how to proceed? |
I have the same issue. Obviously compiling the ctlra_test.c fails for any reason. the first error could be fixed by
remains the memory allocation error without any further information. |
Do you think the version of |
Here is the Howto build the branch: https://github.com/openAVproductions/openAV-Luppp/wiki/Building-ctlra_v1-branch |
gcc/ should be added to .gitignore |
Finally success: It works for me using tcc 0.9.26! I created an issue for Cltra for this: openAVproductions/openAV-Ctlra#79. Now I can start testing the actual functionality. Sorry for all the noise. |
@coderkun thanks for your perseverence! Lets see how you go from here :) @georgkrause This is a WIP branch - and the |
@harryhaaren sorry because of this gcc folder, i thought all stuff in there is generated, but now i know its in the repository. my fault, nevermind and sorry! |
I'm closing this PR. The Ctlra codebase could still be used directly by Luppp, but there is not a huge advantage to doing so. The Mappa PR (#241) is a much smaller code-change, and provides better runtime user-experience as well as easier integration for users. Cancelling this PR doesn not mean that there will not be Ctlra support in Luppp. The hardware device IO will still use Ctlra library, but the Mappa API is used (instead of raw ctlra) to also fix the mapping of hw->sw problem. |
Initial implementation of Ctlra support for Luppp. This is based on POC code from ~2016, when the Ctlra library was being designed. Since then the API has seen lots of updates, and these commits hack those changes into Luppp.
Note that the actual architecture of the current implementation is not correct, as the ctlra_idle_poll() function is called from the real-time audio context. This means that these patches are NOT ready for use on stage, as they WILL cause glitches and Xruns when Ctlra enabled devices are plugged into your system.
This PR is here to show the workings of Ctlra and Luppp - and to allow alpha testers etc to get access to the codebase. More commits will be pushed as time permits! -H