Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-12-14 | Fix real-time issues with buffer allocation | David Robillard | 16 | -125/+207 | |
2016-12-14 | Remove some use of shared_ptr in the real-time thread | David Robillard | 2 | -16/+22 | |
2016-12-14 | Don't use path to determine if nodes are the main graph | David Robillard | 3 | -5/+13 | |
Doing so is slower and touches std::string code that could in theory not be RT-safe (though always is in practice). | |||||
2016-12-13 | Remove virtual inheritance from Port hierarchy | David Robillard | 19 | -196/+130 | |
This was confusing stoat, and is questionable design anyway. The OutputPort functionality has been moved to PortImpl, which is a basic port with buffers suitable for use as an output, and is overridden by InputPort and DuplexPort where necessary. | |||||
2016-12-13 | Fix some real-time safety issues | David Robillard | 12 | -40/+53 | |
2016-10-29 | Fix running as LV2 with disconnected ports | David Robillard | 1 | -0/+4 | |
2016-10-14 | Fix LV2 initialisation | David Robillard | 3 | -7/+18 | |
2016-10-14 | Fix occasionally stuck event queue | David Robillard | 2 | -9/+13 | |
2016-10-14 | Fix potential store deadlock | David Robillard | 9 | -9/+9 | |
2016-10-14 | Fix sequence ports with values | David Robillard | 8 | -21/+41 | |
2016-10-14 | Fix communication with connected sequence ports | David Robillard | 5 | -29/+45 | |
2016-10-14 | Improve documentation | David Robillard | 1 | -0/+2 | |
2016-10-13 | Clean up protocol documentation | David Robillard | 1 | -28/+0 | |
2016-10-06 | Add plugin state saving | David Robillard | 11 | -49/+109 | |
This only works with a server-side save, so the GUI now uses that if the server is not running remotely, where "remotely" is defined as "via TCP". This isn't perfect, since running ingen via TCP locally is a perfectly valid thing to do, but it will do for now. | |||||
2016-10-02 | Add event outputs to Trigger and Controller | David Robillard | 7 | -53/+117 | |
2016-10-02 | Fix MIDI I/O | David Robillard | 1 | -1/+3 | |
2016-10-02 | Fix saving and loading subgraphs | David Robillard | 1 | -2/+2 | |
2016-10-02 | Fix copy/paste of internal blocks | David Robillard | 2 | -2/+26 | |
2016-10-02 | Fix monitoring sequence ports | David Robillard | 1 | -2/+6 | |
2016-10-02 | Fix sending UI events to sequence ports | David Robillard | 2 | -2/+5 | |
2016-10-02 | Implement microsecond clock for Linux and OSX | David Robillard | 4 | -10/+65 | |
2016-10-02 | Fix properties of control/notify ports | David Robillard | 1 | -6/+7 | |
2016-10-02 | Fix loading a graph by copying from the filesystem | David Robillard | 1 | -1/+1 | |
2016-10-02 | Fix unit test responses and ensure events succeed | David Robillard | 3 | -3/+3 | |
2016-10-02 | Defer graph compilation in atomic bundles | David Robillard | 35 | -81/+225 | |
This avoids situations like compiling a graph hundreds of times when it is loaded because it has hundreds of nodes and each event triggers a re-compile. This speeds things up dramatically, but exacerbates the theoretical problem of there not being enough time in a cycle to execute a bundle. As far as I can tell, the execute phase of events is very fast, so hundreds or thousands can easily run in a tiny fraction of the process cycle, but this still needs resolution to be truly hard real-time. What probably needs to happen is that all context and state used to process is moved to CompiledGraph and nodes do not access their own fields at all, but have some references into the CompiledGraph. This way, a compiled graph is separate from its "source code", and an old one could continue to be run while a new one is beng applied across several cycles. | |||||
2016-10-02 | Use more efficient std::lock_guard where possible | David Robillard | 6 | -6/+6 | |
2016-10-02 | Show audio and load information in status line | David Robillard | 5 | -11/+137 | |
2016-10-02 | Add parallel graph execution | David Robillard | 15 | -155/+452 | |
2016-10-02 | Add parallelism-aware graph traversal | David Robillard | 17 | -117/+428 | |
2016-10-02 | Replace Delay internal with simpler BlockDelay | David Robillard | 8 | -239/+120 | |
2016-10-01 | Fix OSX build | David Robillard | 5 | -6/+16 | |
2016-10-01 | Fix plugin versioning | David Robillard | 1 | -1/+1 | |
2016-09-29 | Atomic bundle execution | David Robillard | 8 | -13/+94 | |
2016-09-20 | Use C++11 thread_local | David Robillard | 2 | -5/+4 | |
2016-09-18 | Fix undo of deletions with both blocks and arcs | David Robillard | 1 | -3/+3 | |
Also probably other cases of dependent events that must be executed in the correct order for undo to make sense. | |||||
2016-09-18 | Fix undo after redo | David Robillard | 2 | -4/+6 | |
2016-09-18 | Clean up code | David Robillard | 9 | -25/+34 | |
2016-09-18 | Add fancy communication logging | David Robillard | 6 | -54/+62 | |
2016-09-13 | Fix misleading comment | David Robillard | 1 | -1/+5 | |
2016-09-11 | Remove last vestiges of multiple run contexts | David Robillard | 77 | -383/+315 | |
2016-09-11 | Clarify connect and disconnect logic | David Robillard | 2 | -3/+5 | |
2016-09-11 | Fix buffer copying for various types | David Robillard | 3 | -10/+13 | |
2016-08-17 | Rename main graph and control/notify ports | David Robillard | 4 | -8/+9 | |
2016-08-02 | Make graph control ports support patch:Message | David Robillard | 1 | -0/+1 | |
2016-08-01 | Fix compilation on OSX | David Robillard | 1 | -2/+0 | |
2016-08-01 | Implement LV2 log extension as host | David Robillard | 1 | -1/+0 | |
Only print color logs if output is a terminal. | |||||
2016-07-31 | Support thread-safe state restoration | David Robillard | 8 | -26/+80 | |
2016-07-31 | Reduce duplicated code | David Robillard | 3 | -22/+5 | |
2016-07-30 | Add undo support | David Robillard | 36 | -60/+912 | |
2016-07-30 | Fix stall by making PreProcessor tick periodically | David Robillard | 1 | -1/+5 | |
I am not sure exactly what scenarios cause this to happen, every event should post to the semaphore, but having the PreProcessor thread tick idly doesn't hurt anything and resolves the issue. |