asb2m10 / dexed Goto Github PK
View Code? Open in Web Editor NEWDX7 FM multi plaform/multi format plugin
License: GNU General Public License v3.0
DX7 FM multi plaform/multi format plugin
License: GNU General Public License v3.0
The actual graph according to the DX7 manual is default at a level of 50.
Ideally, this graph would have a center line going through 50 and base the graph off that.
Simple mockup below of what the actual functionality should look like.
Reference page 17 of the english manual to get more confirmation.
If I try to load the dexed vst version 0.8.0 on Mac OSX 10.6.8, it will break up with an error. Version 0.7.0 works fine on 10.6.8... Can you fix it? Thanks. BTW. you can target also 10.6.8 if compiling on more recent OSX xcode versions by placing the old OSX 10.6.8 sdk to the appropriate directory (taking from the old xcode version).
With Hexter I build up a directory with my favourite sounds. They are single sound files, raw, 128 bytes long. I would be very happy if I could load and write them with Dexed.
Hi Pascal,
would you mind adding the VS 64-bit configurations and also VS 2013 target support directly on the Dexed.jucer level?
I downloaded and compiled Introjucer now and understand the structure of the project better. instead of hacking the VS 2012 vxproj file every time for the VS 2013 tools version (v110 vs. v120), I could then just export the VS 2013 build files via Introjucer.
gruss,
Markus
I am using last version of Dexed 0.51
I have old 2008 macbook, 10.6.8 mac os.
Tracktion 5 stucks when i scans for plugin, Renoise find it but wont load it.
There is log from it:
Renoise Plugin Server LOG> VstPlugs: Trying to instantiate '/Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed'...
Renoise Plugin Server LOG> VstPlugs: Plugin is a Mach-O executable...
2014-06-16 10:38:33.419 RenoisePluginServer[416:903] Error loading /Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed: dlopen(/Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed, 262): Library not loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Referenced from: /Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed
Reason: image not found
2014-06-16 10:38:33.438 RenoisePluginServer[416:903] Error loading /Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed: dlopen(/Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed, 262): Library not loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Referenced from: /Users/Akiz/Library/Audio/Plug-Ins/VST/Dexed.vst/Contents/MacOS/Dexed
Reason: image not found
Renoise Plugin Server LOG> VstPlugs: Unable to find VSTPluginMain/main_macho routine
Renoise Plugin Server LOG> VstPlugs: CreateInstance FAILED
Renoise Plugin Server LOG> Server: Disconnected
Renoise Plugin Server LOG> Closing log file...
Dexed seems to specify that the host doesn't need to process the plugin if only silence is fed into it (effFlagsNoSoundInStop in the VST SDK, in JUCE it's something like JucePlugin_SilenceInProducesSilenceOut, I think). This is wrong for a VSTi, since it should output sound even when it's being fed with silence. Dexed is the first plugin I've actually come across that sets this flag, so it triggered my host's experimental plugin suspension code (most hosts don't implement this flag, I think). Everything would have been fine if the plugin didn't have any inputs (since then it would ignore the flag), but since the plugin claims to have a stereo input, the code is still triggered. So I'd suggest to first off remove the flag and maybe also remove the input channels if they are not required.
Just as the above says. Should I not have both the x64 and x32 ones together in the same folder?
I'm running Dexed 0.8.0 under linux. Everything seems fine except that there is nothing on the PARM window save for OK and Cancel. I wind up needing to edit the Dexed.xml file by hand to change these things.
Seems that mousewheel adjusts parameters in steps of 3... Would be much better if it adjusted all parameters in steps of one, perhaps with an additional keyboard modifier (Ctrl?) to adjust parameters in steps of 10?
With the latest build, I get a cartridge and patch reset in Reaper every time I select the Dexed plugin in my list of track FX. this did not happen before.
Recall of VST patch is also broken, at least the cartridge and patch name are reset.
As mentioned. -LIN is a downward line, yet it shows as an upward line after you pick your selection in the dropdown menu. :)
Consider the algorithm diagram in DEXED's UI: algorithm 24 and algorithm 25 look exactly the same, whereas on the diagrams printed on top of a real DX7 they are obviously different from one another (as well as different from what DEXED is showing). Looks like diagonal modulation paths are missing from DEXED's algorithm diagram display.
The setSize arguments on the PluginEditor constructor vs after closing param dialog are different.
I think you updated the code in one place and forgot to change where it was duplicated.
See DISTRHO/DISTRHO-Ports@81cfcae for possible fix.
I know that I should put my sysex files on a specific folder, but it would be nice import the sysex with drag and drop directy from Finder or Windows Explorer :)
Hi,
I am interested in building the project in MAC OS X.
I have cloned the latest code from the repo. Opened project xcode and performed a build.
Following error came up,
failed to find AUResources/AUResources.r
/Users/musicapp/Code/dexed/JuceLibraryCode/modules/juce_audio_plugin_client/AU/juce_AU_Resources.r:49: ### /Applications/Xcode.app/Contents/Developer/usr/bin/Rez - SysError 0 during open of "AUResources.r".
Fatal Error!
/Users/musicapp/Code/dexed/JuceLibraryCode/modules/juce_audio_plugin_client/AU/juce_AU_Resources.r:49: ### /Applications/Xcode.app/Contents/Developer/usr/bin/Rez - Fatal Error, can't recover.
AUResources.r: ### /Applications/Xcode.app/Contents/Developer/usr/bin/Rez - Since errors occurred, /Users/musicapp/Library/Developer/Xcode/DerivedData/Dexed-evsgnqvxdyivzlasmaeyaglucqre/Build/Intermediates/Dexed.build/Debug/Dexed.build/ResourceManagerResources/Objects/juce_AU_Resources.rsrc's resource fork was not written.
Command /Applications/Xcode.app/Contents/Developer/usr/bin/Rez failed with exit code 3
Any suggestion/hint to resolve the issue is welcome.
Distortions when vst host chunk is not multiple on N (msfa chunk size)
PluginProcessor.cpp
(sorry , dont know how to point a code line in github)
Seems that "extra_buf_size" is not updated correctly after extra buf assigment
Hello!
I noticed today using Dexed in monophonic mode, that if a note is held down and another is played above it, it will correctly move to that note; but if the second note is lower than the held note, there is only silence. I'm using the current version in KXStudios, 1:20150128-1kxstudio1
Thank you!
brian
In the last build, when I open a SYX, the cartridge name doe no longer change, all patch names are corrupt, and the sound is also broken.
I Windows and Reaper, I also get a spinning mouse when I try to navigate to different folders in the file open dialog.
I tried compiling dexed (AudioUnits only) for 64bit binary with XCode 6.1 running on Yosemite.
I modified the following lines in JuceLibraryCode/AppConfig.h to
But I get Parse Issue Unknown type name 'Point' in Finder.h as well as in Quickdraw.h.
I also tried with the latest juce library (I also had to install AudioUnits header) and I could go only up to where I got loads of "Undefined symbols for architecture x86_64".
Is there anyone that got the same problem?
I don't know if it's supposed to sound the way it does for me but it builds up and then CRACK!
Hi Pascal,
really like this display! couple of small issues are left:
gruss,
Markus
Currently Mono mode is high note priority. Please make it last note priority, or have an option in PARM for low/high/last note priority.
Hi Pascal,
thank you very much for your great work with this project! I am very excited to by able to use the Android sound engine as a VST plugin :-)
My only problem at the moment is that whenever I load a SYX file, I get corrupted patches. Sometimes the first 10 patches are okay, sometimes all are corrupted. You can see that the names are not displayed correctly in the drop-down list. Also when you load and play a corrupted patch, the plugin frequently crashes.
My environment: Windows 7 64 bit using Reaper (x64) with VST bridge.
Notes: Happens with both your latest binary version and your latest code compiled with VS 2013. Your default patches loaded at start-up work fine, looks like they are loaded from a binary chunk instead of the SYX file, though.
Can you reproduce this on your side?
gruss,
Markus
There is an issue when FruityLoops is syncing the midievents with the audio sample buffer...
I was able to reproduce it and will commit the fix this week.
I am trying to use Dexed with a DX7 200K patch collection.
However, patches for TX802 are not loaded properly (strange patch names, no sound or erroneous sounds). I though TX802 are compatible with DX7 patches. I am planning to used Dexed together with my hardware TX802.
Hi Pascal,
would it be possible to set and get the 32 currently loaded patches from the VST chunk?
I believe this should be possible in the way you load the binary SYX block when starting. Basically you save the block into the VST chunk when unloading the plugin and recall it back when loading the plugin the next time. If you do not find a VST chunk, you fall back to the current solution. When the user imports a SYX file during a session, that block is saved and recalled.
That way, I can have different projects with different patch banks loaded. This is useful when you use a headless system were you can only use program changes to switch patches and not load new banks on the fly.
http://www.juce.com/api/classVSTPluginFormat.html#a666e9aa327d8daaafa05b6b899166ff9
gruss,
Markus
I think it could be very useful for some people like me. I changed PluginData.cpp (lines 433 - 435) to this
#elif JUCE_WINDOWS
if ( File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("Dexed_data").isDirectory() )
dexedAppDir = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("Dexed_data");
else
dexedAppDir = File::getSpecialLocation(File::userApplicationDataDirectory).getChildFile("DigitalSuburban").getChildFile("Dexed");
#else
and it worked. I mean if user manually creates the "Dexed_data" folder in the dll's dir then plugin will use it instead of system App's Data folder.
What do you think?
BTW it looks like you forgot to initialize showKeyboard
so the keyboard randomly on/off if no config file is found. (Your checking if ( prop.containsKey( String("showKeyboard") ) )
doesn't allow JUCE to use default zero value.)
Edit:
use currentExecutableFile
everywhere for consistency (accidentally left currentApplicationFile
in the code after testing, although they are the same for Win).
in 64-bit VST only, the pitch envelope display is broken. sounds is okay, though.
I know the frequency Ratio display was fixed previously, but it seems the frequency Fixed display also needs correcting. For instance, Coarse = 2, Fine = 34, produces 218.78 Hz according to osc_freq() in dx7note.cc, but the frequency displayed is 440 Hz in OperatorEditor::updateDisplay().
It appears to be the display that is wrong as listening to a 440 Hz fixed tone in Dexed, and comparing it to a known 440 Hz tone, they are clearly different.
I discovered Dexed as an LV2 plugin in the KXStudio repositories. It sounds amazing and is very stable, and my conscience won’t let me not pay for it. Is there any way to donate?
Source/PluginFx.cpp
This line needs reworking if you planning modulation. logsc method will produce wrong cv response in that case.
float cutoffNorm = logsc(uiCutoff,60,19000,30);
Also you can remove brightness and low shelf filter. They have minor affect on sound, waste of CPU for FM synth :D
s = s - 0.45*tptlpupw(c,s,15,sampleRateInv);
s = tptpc(d,s,bright);
the new ui is great but for small screen resolution displays (720p) i would like to have option to hide piano keyboard since i dont even use it (or include old ui as alternative)
I noticed while compiling under Linux, there was a warning about this function returning a stack variable, which of course may not exist when the caller goes to look for it. You might consider making this "static" so it is on the heap instead.
Image &findImage(String path) {
Image img;
// change the above to static Image img;
if ( path.length() <= 3 )
return img;
File imgFile(path);
img = ImageCache::getFromFile(imgFile);
return img;
}
Obscure set-up, so probably the set-up rather than Dexed, but thought I'd flag as it's only sporadic so could indicate a bug somewhere...
Running Dexed 0.9 on Logic 5.5.1 PC, using Chainer as a VST host - Dexed runs like a dream except when loading a song, some sounds play incorrectly until changed to another patch and then back.
Eg. If patch 4 is selected on a track and sounds strange, selecting patch 5 and then patch 4 again will cure the problem and the patch will sound correctly.
Hey there,
I use Fedora and i tried to compile dexed so i can try it out but i must say it is big pain to do and in the end i failed.
Some packages i had to: sudo dnf install libXcursor-devel libXinerama-devel freetype-devel libX11-devel alsa-lib-devel
But in the end i got stuck on this:
#include <public.sdk/source/vst2.x/audioeffectx.h>
It asks for something that is forbidden in free software community, the proprietary vst2.x libraries.
Could someone just build .so libraries for us, the linux users or help me to figure out this barrier?
when I use MIDI program changes to go up and down the program list and play a few notes in each program, I get frequent crashes. not always in the same banks or the same patches. I am pretty sure that this does not happen when using the GUI to change programs. happens on 64-bit and 32-bit versions.
my environment is Reaper 64-bit on Windows, but crashes also happen e.g. in Carla 1.2.3 Win32.
I can access all the preset names but they all reset to the first default preset when selected.
Could you please provide any documentation on how to install the VST on Linux?
I tried to compile it with a simple $ make
but it errors as it can not locate the VST SDK folder. Is there any way to declare the VST SDK path in the $ make
command? Is editing the MAKEFILE an option, although there's a warning against this in the preamble.
And doesn't work, cause a DX7 single patch should be 163 bytes. There's soewthing wrong in my setup maybe? Or it's a bug on dexed?
Hi Pascal,
I tried to use the Windows VST on Linux but Wine kept crashing. So now I built a native version on Linux (on KXstudio / Ubuntu).
in order to do this I created a Linux config in Introjucer. I also installed the following Juce requirements:
http://www.juce.com/forum/topic/list-juce-dependancies-under-ubuntu-linux
I verified that the Juce demo app can be compiled.
here is the list of manual changes I needed to do:
resulting Dexed.o Release version works great in Claudia / Carla!
gruss,
Markus
This has been reported to me a few days ago, at DISTRHO/DISTRHO-Ports#8
I don't know if it's a linux specific bug or not.
In any case I fixed it by calling the menu async. I based my code on the juce ComboBox showPopup.
(See the bug report for a fix)
Hey everyone,
after reading about dexed's Linux Support at https://github.com/asb2m10/dexed, I downloaded the archive as zip (because there are no binary download links in the readme.md). The /build/Linux-folder contains a makefile called "Makefile", but I found no documentation about it and I don't know how to build it :/
It would be nice, if someone of you could help me :)
Thanks,
Jano
I'd love to build a standalone Dexed host based on a Raspberry Pi, but I don't know where to start building for LV2 on ARM. Anyone willing to help?
When sending the current patch to the DX7, the Pitch EG data (levels and rates) is not transmitted.
It does send correctly if the entire patch bank is submitted.
I don't know if this is something that is impossible to do or a bug, just listing it as a known issue.
Hi,
if I use some Dexed 0.80 instances, after a while there is some kind of hanging notes, a very quiet endless tone. Using multiple instances will result in a louder hanging tone.
All instances had note-offs at the end. Only midi reset helps.
Please fix.
It will be easier to know to which key you've actually set those breakpoints then! :)
I noticed that Dexed seems to share the same plugin ID as another JUCE-based VST, so I guess you both forgot to actually set a unique ID for the plugin.
At least on Linux when dexed cart-manager is visible there's a black frame/shadow on the desktop.
This seems to be because you use a top-level window for cartmanager but add it as a child component of the plugin UI.
Turning the CartManager class into a simple Component makes the shadow go away.
See DISTRHO/DISTRHO-Ports@5345883 for a fix.
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.