Comments (4)
On 09/22/2016 08:19 PM, swesterfeld wrote:
My fix is to copy the data into one consecutive chunk of data, and
writing that with one single ringbuffer_write. Patch attached.Cu... Stefan
lv2workerfix.diff.txt
https://github.com/rncbc/qtractor/files/488177/lv2workerfix.diff.txt
made its way to git head master (aka. qtractor v0.7.9.2)
0bb4d55
https://gitlab.com/rncbc/qtractor/commit/0bb4d55
https://bitbucket.org/rncbc/qtractor/commits/0bb4d55
http://sourceforge.net/p/qtractor/code/ci/0bb4d5
please test && tell (and possibly close)
thanks
rncbc aka. Rui Nuno Capela
from qtractor.
Looks reasonable, except for one detail (which breaks all requests as you committed it):
if (::jack_ringbuffer_write_space(m_pRequests) < request_size) {
should be ... >= request_size
As to whether to inform the user somehow if the out-of-space-condition occurred (which assert() would have done), it's probably a matter of taste whether to fail silently - as you implemented it - or produce some sort of warning.
from qtractor.
On 09/22/2016 10:49 PM, swesterfeld wrote:
Looks reasonable, except for one detail (which breaks all requests as
you committed it):if (::jack_ringbuffer_write_space(m_pRequests) < request_size) {
should be ... >= request_size
of course. 7d31291
https://gitlab.com/rncbc/qtractor/commit/7d31291
https://bitbucket.org/rncbc/qtractor/commits/7d31291
http://sourceforge.net/p/qtractor/code/ci/7d3129
thanks.
As to whether to inform the user somehow if the out-of-space-condition
occurred (which assert() would have done), it's probably a matter of
taste whether to fail silently - as you implemented it - or produce some
sort of warning.
when the later sort of warning comes like a dang crash/abort, then i
prefer the former ;)
cheers
rncbc aka. Rui Nuno Capela
from qtractor.
Right, now everything works for me, it no longer crashes with my testcase, so I'm closing the issue.
As for producing a warning without crash/abort, you could add something like
fprintf (stderr, "qtractorLv2Worker::schedule failed, ring buffer full\n");
This would at least give users/developers a clue about what happened if a plugin is misbehaving. Anyway that's up to you.
from qtractor.
Related Issues (20)
- Audio bus is not passing signal HOT 13
- not providing "FindQt6LinguistTools.cmake" in CMAKE_MODULE_PATH HOT 2
- Qt6 - mixer subpanes are not remembered HOT 2
- Dexed VST plugin settings not restored HOT 2
- qtractor crashes when opening a simple qtz with a yabridge'd plugin HOT 2
- Change icon theme HOT 2
- Feature request: Auto Backward separately configurable for Stop and Pause
- Calf plugins' GUIs won't open HOT 3
- pipewire: no jack input / output available HOT 3
- MIDI CC 10 is sent whenever CC 7 is sent HOT 2
- 0.9.37 has been retagged HOT 2
- LV2 State Extension path mapping duplicated feature HOT 9
- Audio sync issue HOT 9
- qtractor-0.9.37 build against Qt6 on Fedora 40, run the app: `Gtk-Message: 09:45:22.251: Failed to load module "pk-gtk-module" (qtractor:16365): GLib-GObject-CRITICAL **: 09:45:22.258: cannot register existing type 'GtkWidget'` HOT 5
- Debian build from git fails HOT 2
- Qtractor crashes immediately using EQ10Q stereo plugin
- The new backwards step action goes to before 0, and then jumps to bar 62414. HOT 8
- Never mind (solved) HOT 1
- Bad line break in info window HOT 1
- Qtractor crashing occasionally when plugin scan progress bar is showing 100% HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtractor.