kushview / element Goto Github PK
View Code? Open in Web Editor NEWElement Audio Plugin Host
Home Page: https://kushview.net/element/
Element Audio Plugin Host
Home Page: https://kushview.net/element/
Noticed this in travis-ci
../src/engine/nodes/MidiProgramMapNode.cpp:50:28: warning: iteration 127 invokes undefined behavior [-Waggressive-loop-optimizations]
programMap [i] = -1;
~~~~~~~~~~~~~~~^~~~
../src/engine/nodes/MidiProgramMapNode.cpp:49:27: note: within this loop
for (int i = 0; i <= 127; ++i)
~~^~~~~~
../src/engine/nodes/MidiProgramMapNode.cpp: In member function ‘void Element::MidiProgramMapNode::clear()’:
../src/engine/nodes/MidiProgramMapNode.cpp:40:24: warning: iteration 127 invokes undefined behavior [-Waggressive-loop-optimizations]
programMap [i] = -1;
~~~~~~~~~~~~~~~^~~~
../src/engine/nodes/MidiProgramMapNode.cpp:39:23: note: within this loop
for (int i = 0; i <= 127; ++i)
~~^~~~~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-dynamic-class-memaccess’
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’
Workspace panels need a way to specify their default placement. e.g. is floating when first opened, etc etc...
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This should only happen in the standalone: Show a dialog (see logic pro or LIVE for example) that scans plugins (with cancel) on first run of the application.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Sessions with slow loading plugins block the UI when loading. Should get background loading of sessions smoothed out before 1.0
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This could have to do with required Xcode version and it disallowing building of 32bit binaries. Previous versions of element are Universal binaries. If this is the case, then two variations need packaged 1 for catalina and up and another for less than catalina and restore the universal binary configuration.
Reported on KVR: https://www.kvraudio.com/forum/viewtopic.php?p=7556301#p7556301
Need a way to show/hide channel strips on large graphs.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
e.g. can only have one open at a time. Virtual keyboard is a good example.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Describe the bug
Keys are getting stuck in the virtual keyboard.
To Reproduce
Steps to reproduce the behavior: unknown
Expected behavior
Notes shouldn't get stuck
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This will allow parameter changes to be a proportion of the incoming CC values
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Scanned plugins should be categorizable. Ability to query based on category. Requires DB backend.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Need to decide which panels don't appear in menu and add make it code-configurable.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
MIDI Device nodes should somehow indicate when the Device is disconnected. Note: this applies to the MIDI device specific nodes, not the global MIDI IO.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
When changing the sampling rate from 48kHz back to 41kHz. It is not possible. The program Element crashes v0.40.0
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Describe the bug
Build currently fails on Arch Linux;
~/src/element master* ± ./waf configure
Traceback (most recent call last):
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Node.py", line 342, in ant_iter
raise StopIteration
StopIteration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Scripting.py", line 118, in waf_entry_point
run_commands()
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Scripting.py", line 174, in run_commands
parse_options()
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Scripting.py", line 157, in parse_options
ctx.execute()
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Options.py", line 198, in execute
super(OptionsContext,self).execute()
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Context.py", line 84, in execute
self.recurse([os.path.dirname(g_module.root_path)])
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Context.py", line 125, in recurse
user_function(self)
File "/home/milk/src/element/wscript", line 14, in options
opt.load ("compiler_c compiler_cxx cross juce")
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Context.py", line 82, in load
fun(self)
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Tools/compiler_c.py", line 40, in options
opt.load_special_tools('c_*.py',ban=['c_dumbpreproc.py'])
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Context.py", line 326, in load_special_tools
lst=self.root.find_node(waf_dir).find_node('waflib/extras').ant_glob(var)
File "/home/milk/src/element/.waf3-2.0.4-91d6a4e5781350f87eb0a75b95b84884/waflib/Node.py", line 358, in ant_glob
return list(it)
RuntimeError: generator raised StopIteration
To Reproduce
Steps to reproduce the behavior:
Otherwise known as Plugin Delay Compensation (PDC). Most likely will take place on Nodes themselves, but may need global offsets too.
Latency adjustments are automatic in the graphing engine, but this would be for fine grained control.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Fresh clones of Element should be able to compile with waf and not worry about generating JUCE code with Projucer. All dependencies should be checked in configure...
Some hosts need the plugin to expose itself as a "MIDI Effect" to use it as such. e.g. Logic PRO. Probably will need another plugin variety to pull this off.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
If anybody can verify this please drop a comment.
Reported on YouTube: https://www.youtube.com/watch?v=-SkmlHtkukc&lc=UgwVs20bDbfIz2dK4HR4AaABAg
works really nice overall, but when i tried to use render in place in cubase 9.5.3 on an audio track with element fx on windows it didn't render the whole sequence. for some perculiar reason it did render everything at the actual export so it's not too bad but maybe i'd look into it, because render in place is just much more convenient usually.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Workaround: specify python 2 e.g. python2 waf configure
and so on...
Describe the bug
can't parse wscript
To Reproduce
run waf anything with python3
Expected behavior
that the wscripts can be read
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Offer packaged Linux version as an AppImage: https://appimage.org/
Need to get as many actions undoable as possible.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I believe this to be running the engine at a higher sample rate than the sound card permits. This could be implemented at a session, graph, or node level, or all three.
See
https://audiosex.pro/threads/what-exactly-is-oversampling-and-do-i-need-to-use-it.20157/
A few reports on this one.
'''
While trying to figure out if Element would be a good workaround for an audio issue that only happens when Reason is hosting Korg's Gadget, I ended up bumping into an even worse problem: Element isn't able to send MIDI into Gadget. Audio out of Gadget works, when clicking on Gadget's GUI keyboard.
Tried with v0.31.0 Standalone and VTS2 64bit versions.
This is exactly the same issue I found happening in Cherry Audio's Voltage Modular (already reported to them) and just today (while trying to cross check with other hosts) also on IL Minihost Modular and VSTHost64 but haven't seen it on any of the other VST hosts I tried like Reason 10 or Live 10.
'''
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
One thing would be really handy and help during designing FX chains, a customized macro section. Meaning whatever parameter I want to control I assign it to a macro control so it's available instantly. Or might this be available already?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Your typical tap tempo, but can also be calibrated with MIDI messages like note and CC events
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Element should also run as an LV2 plugin. Will either use instance-access or external UI (or both?) for the GUI. Communication with atom ports could also work but will take an eternity to code properly.
The implementation for LV2 should use lvtk and be included in Element/libs
as a submodule.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Continuation of JACK support (#2) by adding the ability to specify custom JACK ports as top-level Graph IO and also as a special JACK node with custom ports. Details aren't exact yet, and there's tons of options for jack integration.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
from HelpScout:
Thank you! One other question, or I guess feature request if possible. Certain plugins, like those by AAS, install themselves in several common locations. Most DAW software only shows one copy in that case, most likely the last one it found. However Element just shows duplicate plugins. And in that case, there seems to be no way to actually tell them apart because there's no path information shown in the Plugin Manager.
Any chance for a better way to handle this in the future? Allowing a user to add a Path column to the Plugin Manager would be one way to help the situation, or filtering out duplicate plugins would possibly be even better.
However the other feature request for being able to hide plugins would be a decent workaround as well.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Run 32bit plugins in 64bit Element. jBridge has an API for integration, but the end goal is to support this natively and code it out ourselves.
https://jstuff.wordpress.com/jbridge/
Questions
How to accomplish? Interprocess? ---
If interprocess, is that possible while running as plugin? ---
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Mute incoming MIDI notes only. e.g. you toggle a button and it stops MIDI notes from being processed on a node. Need to be careful to watch for NoteOff in the event the mute gets toggled in between a complete note-on-note-off transaction.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Need to review all application commands and set the default key mapping for each one.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Somehow Auto Rewind with a Button or when File Finishes
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Essentially this is Show/Hide scanned plugins. Depends on DB backend.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This is an extension to MIDI mapping. This gives users the ability to control application properties perform actions with hardware devices. For example, an application binding could be showing/hiding preferences, or switching graphs, changing workspaces, triggering events, etc etc.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Minimally allow cross compiling from Mac or Linux. Could be useful to check compilation and unit tests (with wine) when a real windows computer isn't available.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
E.g. graph data not being reset. Selected node not working in all panels. etc etc.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This is a complete overhaul of the MIDI mapping panel in the UI. Not sure what this will look like yet, but the current interface isn't exactly the most user friendly.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Add optional plugin window behavior where there can be a single window that cycles UI's for plugins when opened (instead of having multiple windows for each plugin)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
E.g. when you drag from the Data Path panel and drop to the graph editor, the dropped graph file should be added to the recent files list.
Like normal plugin parameters, a Node's Input/Output gain controls should be MIDI mappable.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The recents menu item (File -> Recents)
should have an option to clear it.
This is the same as the Audio Router, except with MIDI (and LV2 atom when we have it). Need to monitor note-on-off pairs to avoid "stuck" notes.
Just realizing that zip downloads from github won't populate submodules. Need to use/customize waf dist
to create the code releases.
Not all functions on the VC have keyboard shortcuts, and they probably should.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
These will be presets that are always available. such "Classic", "Mixing", and so on....
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Host and run LV2 plugins and instruments.
Note: To start with, could just be a parameter to specify max displayed pins. Possibly specify start channel too.
Users would like a way to organize plugins with folders.
KnownPluginList
with SQL backendWant to back this issue? Post a bounty on it! We accept bounties via Bountysource.
For this issue to complete there can be no layout bugs. e.g. panels always dock in the correct placement and items and areas don't disappear... and of course any other oddity which may pop-up.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Add JACK audio as driver option in Audio Preferences. Note: The stock JACK in JUCE may work, but for maximum flexibility, we may want to start fresh. Initial implementation can just expose ports for the main outputs.
Ultimately we'll want to be able to specify custom jack ports as toplevel graph IO and also as a JACK node with custom ports. See #24
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.