trying to compile 2.4.0 on windows

Official support for: zynaddsubfx.sourceforge.net
Post Reply New Topic
RELATED
PRODUCTS

Post

I try to compile the 2.4.0 sources for windows with

Code: Select all

g++.exe (GCC) 3.4.5 (mingw-vista special r3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

But the following error appears:

Code: Select all

make[2]: Entering directory '/home/Ivan/ZynAddSubFX-2.4.0/src/Input'
g++ -O6 -Wall -g  -DOS_WINDOWS -DWINMIDIIN -DFFTW_VERSION_3 -DASM_F2I_YES -ggdb -DFLTK_GUI 'fltk-config --cflags'  -DPAAUDIOOUT    -c -o WINMidiIn.o WINMidiIn.cpp
In file included from ../Misc/../Effects/../Controls/DelayCtl.h:22,
                 from ../Misc/../Effects/Echo.h:30,
                 from ../Misc/../Effects/EffectMgr.h:29,
                 from ../Misc/Master.h:28,
                 from WINMidiIn.h:27,
                 from WINMidiIn.cpp:29:
../Misc/../Effects/../Controls/Control.h:27: warning: 'class Control' has virtual functions but non-virtual destructor
In file included from ../Misc/../Effects/Echo.h:30,
                 from ../Misc/../Effects/EffectMgr.h:29,
                 from ../Misc/Master.h:28,
                 from WINMidiIn.h:27,
                 from WINMidiIn.cpp:29:
../Misc/../Effects/../Controls/DelayCtl.h:30: warning: 'class DelayCtl' has virtual functions but non-virtual destructor
WINMidiIn.cpp:35: error: cannot declare variable 'midictl' to be of type 'MidiIn'
WINMidiIn.cpp:35: error:   because the following virtual functions are abstract:
MidiIn.h:41: error:  virtual void MidiIn::getmidicmd(MidiCmdType&, unsigned char&, int*)
WINMidiIn.cpp: In function 'void WinMidiInProc(HMIDIIN__*, UINT, DWORD, DWORD, DWORD)':
WINMidiIn.cpp:40: warning: unused variable 'midicommand'
make[2]: *** [WINMidiIn.o] Error 1
make[2]: Leaving directory '/home/Ivan/ZynAddSubFX-2.4.0/src/Input'
make[1]: *** [Input] Error 2
make[1]: Leaving directory '/home/Ivan/ZynAddSubFX-2.4.0/src'
make: *** [all] Error 2
Does anybody know how to fix this?

Post

getmidicmd method was not pure virtual in 2.2.1:

Code: Select all

virtual void getmidicmd(MidiCmdType &cmdtype,unsigned char &cmdchan,int *cmdparams){};
but it's pure virtual in 2.4.0:

Code: Select all

virtual void getmidicmd(MidiCmdType &cmdtype,unsigned char &cmdchan,int *cmdparams)=0;
Why that was done is the question to Paul :)

Post

Standalone version compiled successfully after replacing "=0" with "{}" in this declaration.
Now will try to make a VST version.

Post

Nce going. How does it compare performance wise to 2.2.1?
It wasn't me! (well, actually, it probably was) - apparently no longer an 'elderly', now a 'senior'! Is that promotion?

Post

folderol wrote:Nce going. How does it compare performance wise to 2.2.1?
What can be used as performance metrics?
I don't think that performance changed noticeably to ChangeLog.

Post

orgone wrote: Now will try to make a VST version.
good luck & please share!! :)

looking forward to testing a updated Zyn :hyper:

Post

Why that was done is the question to Paul
Actually, I think that I might have made that blunder.
(though I would need to look at the logs to be sure)
I think that making that method a pure virtual was something that made sense for most of the MIDI drivers, but I guess that I overlooked that issue with windows MIDI because I tend to stay within my Linux environment.
So, I guess I will try to patch that up in git, so that the next minor release will have the fix.

Let me know if you find any other issues, as it is a bit difficult to test ZynAddSubFX with all combinations of its configurations.

Hopefully the VST will compile correctly, but that is one part of zyn that I have not touched too recently, so no guarantees. :shrug:
What can be used as performance metrics?
For this release, I do not think that there were any new optimizations that should affect zyn's performance.
If you want to meter the performance, you should be able to do a general test by comparing the CPU load while using a processor intensive patch.
This is fairly rough, so there are some future plans to eventually integrate some performance testing, to insure that zyn does not get bloat.

Post Reply

Return to “ZynAddSubFX”