Git Product home page Git Product logo

zyn-fusion-issues's Introduction

Build status

ZynAddSubFX

ZynAddSubFX is a fully featured musical software synthesizer for Linux, MacOS, BSD, and Windows. ZynAddSubFX exposes a wide array of synthesis parameters to make it flexible tool for sound design and a fun experience for playing instruments.

Zyn-Fusion Add Synth Editor

Features

  • Polyphonic with support for legato and mono playing modes.

  • Three synthesizer engines:

    • Additive Synthesis for classic synth sounds composed of a variety of voices with powerful modulation. This exposes modulators ranging from LFOs and envelopes to oscillator modulators for FM, PM, and AM.

    • Subtractive Synthesis for creating variable bandwidth harmonics from filtered white noise.

    • PAD synthesis for creating beautiful pads and other instruments.

  • Powerful waveform generator with up to 128 sine/non-sine harmonics.

  • A variety of filters including analogue modeled filters, formant filters, and state variable filters.

  • Envelopes can have ADSR (or ASR, etc..) modes or can be free modes (with any shape).

  • Effects for Reverb, Echo, Chorus/Flange, Phasing, Wave-shaping, Equalizing, Dynamic Filtering with flexible signal routing.

  • Instruments can be organized in kits, which allows you to make drum kits or layered instruments; this makes possible to use more than one instrument for a single part. It is possible to choose what items from the kit should be processed by the Part’s effects.

  • Randomness settings to create subtle differences in each sound to help create that familiar analogue warmth.

  • Microtonal capabilities with any scale, up to 128 notes per octave, and key mapping.

  • Extensive MIDI/Audio driver support including JACK, ALSA, OSS, and PortAudio. The following MIDI protocol extensions are provided:

    • Floating point notes via MIDI SysEx. Allows the exact pitch of a note on event to be specified as a 28-bit value.

    • Per-note controller events via MIDI SysEx. Allows individual active notes to receive MIDI control events.

    • Per-note pitch bend events via MIDI SysEx. Allows individual active notes to change pitch.

  • Session Management Support via LASH/NSM.

  • Plugin Support via DSSI/LV2/VST.

  • Over 1100 high quality instruments included.

For more information see:

Dependencies

ZynAddSubFX depends on a number of dependencies for building. For more information on building the core along with the FLTK based interface see doc/building.txt and for building the new interface see https://github.com/zynaddsubfx/zyn-fusion-build.

Required:

Optional:

  • FLTK (for the oldest user interface)

  • NTK (for the old user interface)

  • JACK

  • OSS

  • ALSA

  • LASH

  • DSSI

Sibling projects

License

ZynAddSubFX is available under the GPL-2.0-or-later license.

Have fun! :-)

--The ZynAddSubFX team

zyn-fusion-issues's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zyn-fusion-issues's Issues

glpsol Creates Popup On Windows

This should be fixed by using the UV_PROCESS_WINDOWS_HIDE flag

This issue should be fixed in the development copy.

Steps to close the issue:

  • Merge mruby-layout changes
  • Run test on physical windows machine
  • Upload new demo build without the bug

Issues Reported By L.F.

Below are issues reported by L.F. This meta issue should be used to manage these issues before breaking into smaller issues as needed.

As far as errors and other things I found so far, here's a list. Working on Windows 7 x64, using Zyn as a VST in Cockos Reaper v5.25/x64, I found:

PART SETTINGS Tab:

  • 1) In the far-right dropdown menu of the 'Instrument Settings' panel, "Polyphonic" and "Monophonic" have the last letter cut off after being selected. (Thus reading "Polyphoni" and "Monophoni".)
  • 2) The description of the aforementioned dropdown menu doesn't recognize "\N" as a line break, writes "\N" instead.
  • 3) Buttons "FMA.RCV" and "TR.TYPE" are misplaced or wrongly scaled in comparison to those next to them. [NOTE: DEFERRED]

ADD, GLOBAL Tab:

  • 4) Buttons "Stereo", "Rnd Grp", "C" and "P" have no description.

ADD, OSC Tab:

  • 5) Buttons "As Base", "Pre/Post", "Clear All" and "To Sine" have no description. [NOTE: TEST]
  • 6) The harmonics magnitude and phase panel displays each set of 32 harmonics as "pages", while the slider allowing to switch between these "pages" suggest one could view any sequence of 32 harmonics the user chose. If the "page" system is kept, I'd recommend replacing the slider with a "next" and a "previous" button. [NOTE: DEFERRED]

ADD, MODULATION Tab:

  • 7) The "Amplitude" and "Frequency" envelope tabs at the bottom have no description. [NOTE: Interesting feature, I hadn't thought about adding tooltips there semi-DEFERRED]
  • 8) Typo in the description of the external oscillator selection of the "VCE OSC" panel, it reads "Oscilator" instead of "Oscillator"
  • 9) The font of the forementioned external oscillator selection is almost unreadably small, sizing it up is suggested.

SUB, BANDWITH Tab:

  • 10) The text of the "Bandwidth" and "Stretch" knobs slightly overlap with each other.
  • 11) Not an issue, but it would be useful if one could toggle between displaying the bandwith envelope and the graph of the harmonics tab, in order to see how the different bandwith values affect the harmonics. [NOTE: good feature and relatively quick to implement semi-DEFERRED]

PAD, HARMONIC STRUCTURE Tab:

  • 12) Harmonics are not displayed in the upper box until the user moves the "BANDWITH" slider on the right side and presses "APPLY". The reverse applies when switching from another waveform back to a sine: all harmonics are still displayed until the user moves the "BANDWITH" slider and presses "APPLY" again, only then switching back to a single harmonic.

MIDI LEARN Tab:

  • 13) None of the MIDI learn function seem to work, though this might be an untold limitation of the demo, or the current state of development of Zyn 3. Or me just not understanding how it works and having to RTFM. [NOTE: CRITICAL BUG/ISSUE]

GENERAL:

  • 14) The "On/Off" symbol used repeatedly throughout the GUI (for toggling the "ADD", "SUB" and "PAD" oscillators on the left-side menu for example) is somewhat confusing, as the teal colour of the "stick and circle" icon suggests the element is already turned on, despite the grey colour of the buttons body. I recommend giving the "stick and circle" icon a grey colour when turned off. [NOTE: Move To a minor-redesign discussion DEFERRED]
  • 15) The description of some elements as displayed in the box on top could be clearer and more detailed. The description for ADD the synth reads "ADSynth Enable", which could be confusing for a new user, moreso since the description is used for both the "On/Off" button for the ADD synth as well as the button to display the ADD synth's interface. [TODO: This is a somewhat global issue, in the particular case the sidebar buttons share tooltips (I think) which could be resolved with some tweaking DEFERRED]
  • 16) A lot of different font and element sizes are used in the GUI, which is especially egregious in the MODULATION Tab of the ADD Synth, and somewhat distracting for the user. I would recommend limiting the amount of different font/element sizes used in the GUI as a whole to 3 or 4, maximum. Also, as mentioned previously, the font is sometimes almost unreadably small.
  • 17) While somewhat justified in the old GUI, this new and spacey GUI could accomodate the name of a lot of buttons, knobs and menus being written out in full, like 'Volume' instead of 'Vol', or 'Bandwith' instead of 'Bw'.

CRASHLOG:

  • 18) Had a crash after using "CLEAR INSTRUMENT" and switching to the ADD synth menu. I had been using the SUB synth previously. Zyn made no sound after the "CLEAR", despite the ADD synth being switched on by default. As it crashed, a few error messages flew by, but to fast for me to read. Reaper was set on Play during the whole procedure, sending a looping MIDI stream to the VST. The VST's UI wouldn't display anymore afterwards and had to be removed from the track's FX list, then added back in.
  • 19) VST crashed while using the switching from the PAD synth's "Filter" tab to the "Frequency" tab. As it crashed, a few error messages flew by, but to fast for me to read. The sound hung and stuttered for a second, then disappeared. The VST wouldn't display anymore afterwards and had to be removed from the track's FX list, then added back in. Reaper was set on "PLAY" during the whole procedure sending a looping MIDI stream to the VST.

Here's round 2:

GENERAL ISSUES:

  • 20) I've listed some more here, but I'll just make this general note to save time: a lot of descriptions, if they aren't missing, are unclear, contain improper english or are outright confusing. I suggest going through all of them one by one in a work session dedicated to the task, and fix all descriptions that seem problematic. I suggest using Zyn's manual as found on http://wiki.linuxaudio.org/wiki/zynaddsubfx_manual as a guide for writing the descriptions.

MAIN GUI:

  • 21) None of the elements on the bottom aside from the modulation wheel have a description. [NOTE: resume working through issues here...]

SAVE and LOAD Menus (INSTRUMENT, MASTER, MICROTONAL, MIDI BINDINGS):

  • 22) The textbox on the bottom allowing to type in a file name or a path seems to freeze and subsequently not work when asked to handle certain special characters. (In this case, the textbox is frozen from the get-go, trying to display my user account folder, as my last name contains an "é".)

PART SETTINGS Tab:

  • 23) The buttons "MDW.EXP" and "BW.EXP" are differently scaled compared to other buttons.
  • 24) The "Portamento" button's description is "Undocumented"
  • 25) The description of the "PROPT." button is unclear. I would suggest rephrasing to "Whether the portamento time is proportional to the size of the interval between two notes." or something similar.
  • 26) Descriptions of the "RATE" and "DEPTH" knobs next to the "PROPT." are unclear. I can't suggest anything since I'm not even sure what the difference between the two is. However, I think renaming "RATE" to "SCALE" might be clearer.
  • 27) The "M", "R" and "M" buttons in the "Instrument Settings" panel don't have description. [TODO:TEST FIX]
  • 28) Parts can currently not be labeled (Linked to the "KIT" tab issue/ a demo limitation?) [TODO: TEST]

MIXER Tab:

  • 29) The "EDIT" button for each part does nothing. (Demo limitation?) [TODO: TEST]
  • 30) The volume slider for each part can easily be confused as being part of the volume meter. [TODO: mention to designer (I personally had the same issue as the color diff was small)]

EFFECTS Tab:

DYNFILTER FX:

  • 31) Changes to the GAIN knob of a DYNFILTER FX do not display on the graph. (If it's simply not supposed to be a feature, overlook this comment.)
  • 32) The description for the "AMT", "FREQ" and "RAND" knobs of the DYNFILTER FX do not explain much of what they do.
  • 33) The description of the "SMOOTH" knob of the DYNFILTER FX should be rephrased and maybe more in-depth. It currently reads "How smooth the input amplitude changes the filter." What "smooth" means in this context is not explained.
  • 34) The duplicate of the "CLASS" dropdown menu in the middle box of the DYNFILTER FX is not necessary and could be confusing for the user.
  • 35) In a formant-class filter, the "S.POS" and "VOWEL" sliders, as well as the vowel and formant selectors (the "-/+" selectors next to the "F.FREQ" and "F.Q" sliders) have no description.
  • 36) The "SLEW" slider is probably incorrectly named. It probably corresponds to the "Fr.Sl." knob of the old GUI. If anything, it should read "SLOW." or "SLOWNESS"
  • 37) The "SLEW" description reads "Rate that formants change".
  • 38) Changing the "SEQ.SIZE" slider to any value other than 0 causes Zyn to emit a pop once a note is played, then refuses to produce any sound afterwards. (I have reloaded the demo to make sure it wasn't because I had been using it for more than 10 minutes.) [should be fixed]
  • 39) The "F.Q." slider description reads "Quality Factor". A better description would be "The formant's quality factor, also known as resonance bandwith or "Q" for short."
  • 40) The description of the "CLARITY" slider is unclear. A description like "How much each vowel is smudged with the next in sequence. A high clarity will avoid smudging."
  • 41) Most parameters tied to creating vowel sequences do not work properly. The "+/-" switches for selecting vowels and formants go beyond whatever number is currently selected as a maximum, which can be confusing. The "SEQ.SIZE" slider would also work better as a "+/-" selector, since the number of vowels will always be an integer.

DISTORTION FX:

  • 42) "P.FILT" button is non-descriptive at which stage the non-linearity comes into play regardless of the filters position in the process pipeline.
  • 43) If "Insertion" or "Part Insertion" were previously used, and one goes back to the EFFECTS tab from another one, "Insertion" or "Part Insertion" are displayed but the button for the "System" tab is shown as being the active tab. [NOTE: confirmed on linux]
  • 44) In "Part Insertion", the FX are grouped as 'pages' but switching between them is still done via a slider, which only changes pages after a certain treshold. (This is the same issue as for the harmonics magnitude and phase selection panel of the ADDSynth waveform selection screen.) [NOTE: I personally don't have much of a problem with this design choice, but I can ask others about this]

REVERB FX:

  • 45) The high-pass filters knob is mislabeled "LPF" instead of "HPF".

PHASER FX:

  • 46) The "HYP." button's description reads "Extern = </SYSEFX0/PHASER/PHYPER>" [NOTE: TEST (should be fixed)]
  • 47) Seems not to produce the intended phaser effect. [NOTE: TEST]

ALIENWAH FX:

  • 48) Seems not to produce the intended wah effect. No matter the settings, I only hear a pop at the start of every note. [NOTE: TEST]

KIT Tab:

  • 49) Kits can currently not be renamed. (Linked to the "PART SETTINGS" tab issue/ a demo limitation?) [NOTE: TEST]

MODULATION Tab:

  • 50) For the amplitude envelope, the green marker that's supposed to follow the path of the envelope on the display goes off path after the attack stage.(It seems to be correct on the X axis, but on the Y axis uses values inferior to those of the actual path.)
  • 51) During the release stage, the green marker starts at 0 on the X axis.
  • 52) For the frequency envelope, the green marker does not appear until the sustain stage. Afterwards, the marker stays stuck in the bottom left corner until the release stage.Then, it disappears again.

RESONANCE Tab:

  • 53) The "INTERP" button has no description and doesn't activate when pressed (a limitation of the demo?) [NOTE: TEST - I'm pretty sure it works, it's just a usability issue]
  • 54) The "ZERO", "SMOOTH" and "RANDOM" buttons have no descriptions.

GENERAL/ USAGE WITHIN COCKOS REAPER:

  • 55) GUI is automatically loaded in a separate window from the track FX menu, unlike most FX when used in Reaper.
  • 56) When switching to a tab for the first time (ex: from the PRESET tab to PART SETTINGS after inserting Zyn), the GUI is sent back in the window order unless pinned in Reaper. (From what I can tell, it seems this is due to the GUI's window being closed and re-loaded by Reaper. A code console can be seen for a split-second.)

CRASHLOG/FREEZES Tab:

  • 57) Zyn crashed while switching between "TYPE"s of filter of an Analog-class DYNFILTER FX. I was switching from LP1 to LP2 then to HP1. The graph display didn't change between LP1 and LP2, and the VST crashed once I changed from LP2 to HP1. The message box "Microsoft Visual C++ Runtime Library This application has requested the Runtime to terminate in an unusual way.[...]" showed up.". After clicking "OK", the audio for the PC as a whole stuck and "flickered" for a few seconds, then came back. Putting Zyn offline then bringing it back online allowed it to restart, but switching from a Formant-class DYNFILTER to a Analog-class made Zyn crash again in the same way.
    Restarting Cockos Reaper didn't fix the issue either. Giving Zyn a "Clear Master" from the FILE menu prevented it from crashing when switching DYNFILTER classes. Trying to switch to a HP1 filter type caused Zyn to crash again, however. The error didn't occure with any other filter type. [TODO: TEST this. it seems specific enough that there might be a consistent logic bug]
  • 58) After setting up some settings (ADDSynth with pulse waveform and a sine FM modulation, and a Dynfilter with a formant-class filter as a part insert followed by a distortion), then reloading Zyn (putting it offline then back online), visiting the "EFFECTS" tab and going to "PART INSERTION" caused Zyn to crash. For a moment, an analog-class filter was displayed, so I suppose trying to display the formant-class filter is what caused Zyn to crash.
  • 59) While using the PAD synth, I tried to switch to a different type of filter. First, the display switched from displaying the filter's envelope to displaying the filter itself. A few seconds later, Zyn crashed and provided a "Microsoft Visual C++ Runtime Library"-type error messagebox. I managed to reproduce the crash after switching to a "ST.VAR."-class filter, turning the "CUTOFF", "Q" and "F.TRACK" knobs then switching back to an "ANALOG"-class filter. But it seems to be random, as after trying to reproduce the crash again, it didn't work.
  • 60) Zyn crashed while trying to open a path in the "SAVE INSTRUMENT" menu. I had previously opened a folder from the path displayed by default, but all the selectable elements in the browser after that were blank, with no "." or ".." to even move back up a level. A few seconds later, the sound froze and stuttered for a few seconds, then Zyn crashed. [TODO: Test this, I've had multiple reports of this particular crash and I suspect I know how to fix it]

LV2 plugin Missing `manifest.ttl`

Upon adding the LV2 plugin to carla-rack I get the following errors in my terminal:

Error opening file /home/simon/.lv2/zyn-fusion/manifest.ttl (No such file or directory)
lilv_world_load_file(): error: Error loading file `file:///home/simon/.lv2/zyn-fusion/manifest.ttl'
lilv_world_load_bundle(): error: Error reading file:///home/simon/.lv2/zyn-fusion/manifest.ttl

Also, carla-rack doesn't allow me to open the GUI to edit settings. Judging by the contents of manifest.ttl from other plugins it's probably caused by the missing file, but I might be missing some GUI toolkit to render it. What kind of toolkit is used for the GUI?

Marginal Ray Documented Issues

  • 1) Knobs right and left of the keyboard (modulation wheel, Velocity, VRDN, Octave…); [confirmed, needs fix]
  • 2) In part setting / controllers : impossible to split my midi controller. No effect if turning knobs... [needs testing]
  • 3) On existing projects with “old zyn” tracks : when ZYN3 is loaded instead of the old zyn, the settings are not recognized (ZYN3 always opens with default sinewave loaded) [DUP with dedicated issue]
  • 4) To open both Zyn (old and V3) in an instance, the old dll must be renamed. It should be the new one to load properly both versions (keeping settings from the old zyn tracks and opening ZYN3 with its working GUI, and not a black screen) . [deferred]
  • 5) Load Master: It should follow the windows rules (not Linux). Navigation method is a little confused (at least for windows users). Only the C:/ drive is accessible (in contrary to old zyn) [should be fixed]
  • 6) Saving an instrument crashes Reaper [should be fixed (needs packaging/testing)]
  • 7) Impossible to save an new instrument (no “save as”) [shouldn't be the case (UX problem)]

Saving Instrument 'Navigation In the preset menu' is broken [Linux]

There is no way to edit the name for a newly created preset, the preset just takes on the name of the directory where you try to save. ( tested in both Renoise and Bitwig )
Bitwig engine will crash everytime I try to save a preset. I can probably upload some stack trace info if that will help?
thanks :)

Stand Alone and VST Loading Fails

Reaper DAW does not display the GUI
FLStudio DAW does not recognize the VST
The stand alone stalls during loading

Windows 7 Ultimate SP1 x64
No external audio or MIDI devices

This is the output from the stand alone. It stalls at parsing json file:

ZynAddSubFX - Copyright (c) 2002-2013 Nasca Octavian Paul and others
Copyright (c) 2009-2016 Mark McCurry [active maintainer]
Compiled: Oct 4 2016 18:35:08
This program is free software (GNU GPL v2 or later) and
it comes with ABSOLUTELY NO WARRANTY.

Try 'zynaddsubfx --help' for command-line options.

Sample Rate = 44100
Sound Buffer Size = 256 samples
Internal latency = 5.8 ms
ADsynth Oscil.Size = 1024 samples
lo server running on 12128
[INFO] Nio::start()
Starting Audio: PA
Audio Started
Starting MIDI: NULL
MIDI Started
[INFO] exec-after-init
[INFO] No Windows MIDI Device At id 0
[INFO] No Windows MIDI Device At id 1
[INFO] No Windows MIDI Device At id 2
[INFO] No Windows MIDI Device At id 3
[INFO] No Windows MIDI Device At id 4
[INFO] No Windows MIDI Device At id 5
[INFO] No Windows MIDI Device At id 6
[INFO] No Windows MIDI Device At id 7
[INFO] No Windows MIDI Device At id 8
[INFO] No Windows MIDI Device At id 9
[INFO] startup OSC
[INFO] UI calbacks
[INFO] OSC replay
[INFO] auto_save setup
[INFO] NSM Stuff
[INFO] LASH Stuff
[INFO] Launching Zyn-Fusion...
[INFO] starting subprocess via <zyn-fusion.exe osc.udp://127.0.0.1:12128/>
[INFO] Main Loop...
[INFO:Zyn] setup_pugl()
[INFO:Zyn] zest_tick()
[INFO:Zyn] zest_open()
[INFO:Zyn] Found Assets at C:\Users*\Downloads\zynaddsubfx_3.0_Demo_w64-pac
kage
[INFO:Zyn] Creating MRuby Interpreter...
[debug] parsing json file

Misc Polish Issues

  • menu entries should highlight when in tap mode
  • menu should not select negative entries
  • qwertz (and other) keyboard layouts [deferred]
  • Create a better looking disabled state
  • Add a minimum window size
  • Add Parameter Value Prefetching
  • needPrepare in padsynth is missing metadata

Open Issues Imported From Alpha/Beta Tests

  • 0082 Disabled Envelope or Env ADSR values should use gray colors [LATER RELEASE]
  • 0085 Right click menu does nothing [LATER RELEASE]
  • 0087 Spectral mode in pad synth doesn't show different spectral envelopes [LATER RELEASE]
  • 0138 Find a way to show more detailed free env delay times [LATER RELEASE]
  • 0154 Sidebar browser part, mixer, add, sub, pad, effects, midi learn [LATER RELEASE]
  • 0156 Detune should be represented with a easier to change NumEntry widget [LATER RELEASE]
  • 0180 add simple presets to subsynth harmonics [LATER RELEASE]
  • 0187 Lin/Log in Env Don't Affect the Rendering Of the Display [LATER RELEASE]
  • 0190 LFO Watch points map weirdly [LATER RELEASE]
  • 0194 Add theme subview to browser view [LATER RELEASE]
  • 0199 Pad synth enable is triggered by envelopes/lfos [LATER RELEASE]
  • 0200 Pad synth enable should be flagged when a pad synth is enabled [LATER RELEASE]
  • 0202 Record needs a disabled state before a file is set and always in plugin mode [LATER RELEASE]
  • 0205 Copy/Paste Doesn't Warn User When Incompatiable Paste is attempted [LATER RELEASE]
  • 0226 fullscreen toggle would be nice[LATER RELEASE (THIS APPEARS TO BE PLATFORM SPECIFIC)]
  • 0228 disable widgets when in white noise mode [LATER VERSION]
  • 0229 modulation fine/coarse appear to have wrong range
  • 0231 resonance editor is missing tooltips to show frequency/amplitude [LATER RELEASE]
  • 0246 Microtonal Import is broken [LATER VERSION]
  • 0247 Microtonal Retune is very broken [LATER VERSION]
  • 0248 LFO Vis With delay=0 should render differently [LATER VERSION]
  • 0263 Disable modulator if it is unused or if ext. mod is used [LATER VERSION]
  • 0294 bank preset scroll bar isn't reset when new values come in [later version]
  • 0297 proper title is needed
  • 0298 Test Ubuntu Fonts Instead of Roboto [later version - there was some initial testing done]
  • 0299 ghost patches on the bank select list
  • 0300 make zyn issue of upgrading windows MIDI handling
  • 0301 file quit causes plugin crash
  • 0302 check formant sequence pos code
  • 0303 test effect windows with all dynamic filter UIs
  • 0304 formant number is not restricted to normal bounds
  • 0305 moving from documented to undocumented should clear (see qml/Valuator.qml)
  • 0306 Phaser deactivate knobs that are unused in analog vs normal mode
  • 0307 Dynamic filter copy paste seems to be mapped incorrectly for formants

Harmonics editor features

  1. Drawing though (so you can draw basic shape with one move)
  2. Different scales (logarithmic, for example)

Upgrade Windows MIDI Support

This issue might be better suited for the zynaddsubfx and not the zyn-fusion tracker, but whatever.

So, right now windows MIDI for the standalone option has worked within testing, but some users report problems with it. There might be a better way to implement this and it should be integrated better with the NIO subsystem. I'd recommend reading ardour's code to defer to a known tested system

Scrollable Region Enhancements

  • Allow arrow keys to select different elements once it is in focus
  • Add drawn arrow indicators at top/bottom or left/right for users to click on

Allow chaning ADDsynth voice modulation depth in realtime

I wish I could automate/MIDI-control the amount of modulation applied to an ADDsynth voice in realtime, mid-note just like it works for the filters.

I think it'd make it much easier to make complex sounds with automating the individual modulation amounts. I haven't experimented with pitches, but that'd also rock.

File Selector Bugs

  • going to a directory, typing a partial path, and then clicking on the full path results in /base/partial/clicked when it should result in /base/clicked. Adding a check for in-directory vs partial directory state should solve this
  • Changing drives from C:// to Z:// isn't possible due to empty path behavior

Crash when loading plugin in Ardour on Linux

I've installed the demo from zyn-fusion-3.0.1rc1-nov-20.tar.bz2 on my Ubuntu 14.04.5 LTS.
When I load the plugin into Ardour (self-compiled 5.4.0), it crashes immediately showing this in the console:

WARNING: this host does not send sample-rate information for LV2 UIs, using 44100 as fallback (this could be wrong)
[INFO] Opened the zynaddsubfx UI...
[INFO] Ready to run
[INFO:Zyn] zest_open(osc.udp://127.0.0.1:11896)
[INFO:Zyn] Found Assets at /opt/zyn-fusion/
[INFO:Zyn] Creating MRuby Interpreter...
[INFO] setting up runner
[debug] parsing json file
[INFO] init gl
[INFO] loading fonts
[INFO] window width=1181
[INFO] window height=659
[INFO] init window
Time for a fast load is 7.798ms load(0.008) class(0.001) spawn(7.789)...
[INFO] doing setup
[INFO] doing layout
[INFO] Running Layout Solver...
[INFO] launching program...
[INFO] ret code = 0
[ERROR] GLPSOL EXITED WITH ERROR CODE 1
[INFO] GLPK Solver finished...
[INFO] Read solution to layout...
[ERROR] The output file '/tmp/zest-w.txt' from glpsol was not found
[ERROR] This file is needed for layout
[ERROR] Please verify that there is a usable glpsol in the current directory
AM_PreferencesAudio::destroy instance destroyed
AM_PreferencesAudio::~AM_PreferencesAudio(), instanceCount after destruction: 0
AM_MemoryRecord closing down with 185 allocations vs 172 freed
Speicherzugriffsfehler (Speicherabzug geschrieben)

This happens with lv2 and vst versions of the plugin. I also tried with Ardour 4.7.0 from another Linux distribution, which shows the same behaviour.

However, there is a way to avoid the crash: First open a Carla-Rack in Ardour, and then open the ZynAddSubFX plugin in Carla. Once this instance is open, I can open more instances directly from Ardour without using Carla in the middle. The error line about glpsol (ERROR CODE 1) disappears.

Crash when deleting patch comment text.

This happens if I press backspace one more time after there is no more text to delete.
Looks like it keeps indexing to negative numbers.

Tested on Windows 10.

zynaddsubfx Linux 64 executable quits with error

Launching the zynaddsubfx binary from the zyn-fusion-3.0.0pre.tar.bz2 pacakge yields:

Try 'zynaddsubfx --help' for command-line options.
Cannot lock down 82274202 byte memory area (Cannot allocate memory)

Sample Rate = 48000
Sound Buffer Size = 256 samples
Internal latency = 5.3 ms
ADsynth Oscil.Size = 1024 samples
lo server running on 12940
[INFO] Nio::start()
Starting Audio: JACK
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Jack buffer resized
Jack reports error: Cannot use real-time scheduling (RR/5)(1: Operation not permitted)
Jack reports error: JackClient::AcquireSelfRealTime error
./zynaddsubfx: symbol lookup error: ./zynaddsubfx: undefined symbol: jack_port_uui

As a wrokaround, starting the installed zynaddsubfx as 'zynaddsubfx -P 1337 -U -I alsa -O jack -a' then zyn-fusion works.

Adaptive harmonics power >=100 wrecks the oscillator

selection_018

Setting the Adaptive harmonics Power to 100 results in a flat (silent) waveform). everything above is a +1 DC offset waveform.

Power = 100
selection_019

Power > 100
selection_020

Every adaptive harmonics mode has this problem. ADDsynth and PADsynth both are affected.

Improve MIDI Learn Interfacing

Section 1: User Feedback

unfa:

  1. There is no visual feedback to tell the user that he has assigned a CC control to anything - and no way to easily remove that assignment once it's made.
    I've been using it again last week and it goes liek this:

I ctrl+middleclick on something, then I twist a knob. Sometimes it picks up and moves the assigned control, sometimes it doens't. Sometimes it's me using bad hotkey and mouse action.

I'd love to have something light up around a control (maybe thin yellow ring, or rectangle, or a subtle but obviously present yellow glow?) I could make some serious mockup for this.
Also a way to open a MIDI learn context dialog for a control would be awesome.

A window that you can open with Ctrl+Right click or something on any MIDI learnable GUI element.

It'd display the state of MIDI CC assignments, allow to re-assign a different CC control or delete the link.

Also a way to map the values could be fantastic. A simple Free-mode ENV function editor could work miracles for this, even if it only had three control points (no more should be needed anyway) to define the lower and upper limits, and the curvature of the response (sometimes you want a more linear, or more logarithmic control). Doing this in software instead of the MIDI hardware has several benefits:

  1. You don't need to reconfigure the hardware for different instruments
  2. You get full 7-bit resolution of MIDI CC that is mapped int ot a smaller range of the control - giving you finer control. If you limited the range in hardware, you'd end up with the same control resolution, but lower range - soi it's not a beneficial at all.

Another current problem I had is that once you assign something a MIDI CC controller, you can't re-assign it, or can't use that CC controller for anything else (I'd also like to be able to assign multiple Zyn controls to the same CC controller, using different range mappings - this would be a really powerful implementation.

multiple users on kvr: (paraphrased) https://www.kvraudio.com/forum/viewtopic.php?f=1&t=473442

The midi learn system should be integrated into the exposed parameters listed by the VST plugin.
Doing so would greatly improve how well zyn integrates with host automations.
Examples of systems that work well with a large number of parameters include Omnisphere, Kontakt, and Reaktor

Section 2: Problems

2.1 Visual Indication of MIDI Learn

Users want to know:

  1. what widgets are currently being learned
  2. when a widget has an existing midi learn binding
  3. when something goes wrong "why isn't this learning"

A visual indicator of a pending MIDI learn could be shown nicely by a breathing/slow strobe on one portion of the widgets with pending learning.

When MIDI learn mode is engaged it might make sense to add additional highlights to widgets that already have a mapping.

Some text should be set to the log tray to guide users through the process of midi learn
Perhaps some basic how-to text should be exposed in the midi learn tab to introduce users to the functionality.

2.2 User Interaction With Learning/Unlearning

Right now the interaction is rather basic.
To learn:

  1. Use ctrl to enter MIDI learn mode (or click on the midi learn indicator)
  2. Click on a control to begin midi learning
  3. Use a free CC to bind to the control

To unlearn:

  1. go to the midi learn tab
  2. use the 'x' to remove a learned mapping

More complex user operations aren't supported in the initial release.
This includes:

  • Mapping two controls to the same underlying MIDI CC
  • Unlearning a MIDI control without changing to the midi learn view
  • Changing the mapping for the MIDI CC->parameter

2.3 Technical Limitations

  • Many parameters only take on the values 0..127 which could result in difficulties when users restrict the range of a MIDI CC->parameter mapping

Section 3: Solutions

  • Additional MIDI Learn Help Page
  • Additional MIDI Learn Detail View
  • Add back right click context menu

Copy/Paste May Crash Windows Mode

Reported by Reinhard:

Select ADD, PAD, or SUB Window, then click the C on the right corner above.
(Left from the p )
I get the message: Ths application has requested the runtime to terminate it
in an unusual way.

Steps for maintainer (aka me) to fix:

  • Test copy/paste within add global
  • Test copy/paste within add oscil
  • Test copy/paste within sub
  • Test copy/paste within pad
  • Test copy/paste within pad oscil
  • Test copy/paste pad oscil <-> add oscil
  • Test at least one invalid copy paste operation (paste without copy buffer and paste with invalid copy type)
  • Run all above tests on windows standalone
  • Run all above tests on windows VST

Fail to start: libmxml.so.1 not found

$ zynaddsubfx
zynaddsubfx: error while loading shared libraries: libmxml.so.1: cannot open shared object file: No such file or directory

I get the same trying to run an LV2 version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.