libossia
score
Our great sponsors
libossia | score | |
---|---|---|
3 | 99 | |
196 | 1,408 | |
0.5% | 2.1% | |
8.8 | 9.6 | |
4 days ago | 4 days ago | |
Max | C++ | |
GNU Lesser General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
libossia
-
PortAudio vs PulseAudio vs Pipewire
You can check out the code here: https://github.com/ossia/libossia/tree/master/src/ossia/audio ; feel free to use, it's LGPL
-
Is there a widely used c++ object for obtaining ƒ(x) of a piecewise function made from points? (for audio parameter automation)
Here's an example: https://github.com/ossia/libossia/blob/master/examples/Editor/curve.cpp
score
- Learn How to Build Your Own Max for Live Devices
-
Qt Widgets Rendering Pipeline
https://ossia.io uses widgets and qgraphicsscene for the main UI rendering and Qt rhi for the GPU pipeline, and it's performing well enough for our use-cases - I was working on it on a 1080p screen on a Pi4 recently and it certainly felt much much faster and responsive than chrome on the same hardware.
-
Is it possible to do runtime compilation and execution of C code?
I use it for live c++ recompilation in https://ossia.io - all the code is in there. https://github.com/ossia/score/tree/master/src/plugins/score-plugin-jit/JitCpp
-
Show HN: New visual language for teaching kids to code
> I feel like visual programming gets a bad rap because of things like this. As an electronic engineer that used to love LabView and life long user of NI Reaktor and Max/MSP, those tools are fantastic if you don’t approach them with an imperative programming mindset.
aha, in the long run I ended up making https://ossia.io which is as VPL as it can get. Yet it still embeds a LOT of textual languages.
-
CLion Nova Explodes onto the C and C++ Development Scene
For me both VSCode and CLion lag heavily.. whenver I tried CLion it was completely unuseable on my project https://ossia.io which is only 500kloc (and I try to try it pretty much once a year since it was in beta)
-
Visual Node Graph with ImGui
https://ossia.io does some of it, I've been working on a new release that also supports the whole QtQuick stack in the node graph items but you can already combine videos & shader effects
-
Speed Up C++ Compilation
In https://ossia.io with PCH, using clang, ninja, mold, and some artificial split in shared libraries for development builds, I get a compile-edit-run cycle of a couple seconds in general... I wouldn't say it's too much of a problem if you use the tools already available
-
Looking for open source projects to contribute to
If you're interested in multimedia https://ossia.io is always looking for new contributors!
-
Digital Audio Workstation Front End Development Struggles
I develop https://ossia.io with Qt and it works as I want it to
In ossia.io I use three different algorithms / display methods depending on the zoom level used: at "far away" zoom it uses the minmax of the audio slices, at intermediary zoom it draws lines and when getting closer, it starts drawing individual samples.
https://github.com/ossia/score/blob/master/src/plugins/score...
- Automation clips can contain a bunch of bezier curves, which are slow to render.
Convert those to line segments with an approximation setting that looks good enough and it'll be ten times faster (keep the bezier for your data model of course).
https://github.com/ossia/score/blob/master/src/plugins/score...
https://github.com/ossia/score/blob/master/src/plugins/score...
- Piano roll clips can contain lots of little rectangles in order to display a "minimap" of the MIDI notes inside of it.
oh damn yes, I spent so much time on this and it still needs so much optimizing... if someone wants to give a shot at it :D
https://github.com/ossia/score/blob/master/src/plugins/score...
https://github.com/ossia/score/blob/master/src/plugins/score...
- On top of all this, clips can contain text labels which can also be expensive to render.
Yep, made myself a few "cached text" Qt items over time as the builtin cache wasn't satisfactory
- The fact that a timeline is zoom-able also makes it harder to cache the rendering of clips. If the timeline changed its zoom level, all visible clips pretty much have to redraw all of their contents.
yep
- Piano rolls can also be expensive to render if there is a bunch of MIDI notes, especially if there are text labels on the notes.
yep
- If the user clicks on a folder in a sample browser containing hundreds or even thousands of files, allocating a label widget for each file in the browser list will be very expensive. Something like the list factory in GTK is needed here.
yep, Qt's also able to cache this. Though for instance for Qt's QFileSystemModel I carry a small patch to disable any kind of sorting when there's more than a few hundred thousand files (which happens for large media libraries)
- We want to reserve as much CPU as possible for the actual audio processing. Ideally the GUI shouldn't take up more than one or two CPU threads.
What are some alternatives?
seq66 - Seq66: Seq24-based live MIDI looper/editor. v. 0.99.12 2024-01-13. NSM support; Linux/Windows/FreeBSD; PDF user manual. Help access to tutorial and PDF. Beta code in portfix branch.
BespokeSynth - Software modular synth
atemOSC - Control ATEM video switchers over the network with OSC messages
PedalinoMini - Wireless and Bluetooth MIDI Foot Controller
BespokeSynth - Software modular synth [Moved to: https://github.com/BespokeSynth/BespokeSynth]
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
vgmtrans - VGMTrans - a tool to convert proprietary, sequenced videogame music to industry-standard formats
lmms - Cross-platform music production software
gsequencer - Advanced Gtk+ Sequencer
midimonster - Multi-protocol control & translation software (ArtNet, MIDI, OSC, sACN, ...)
JUCE - JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
blockly - The web-based visual programming editor.