Commit Graph

1171 Commits

Author SHA1 Message Date
Vesa
40407f6ce6 LB302: Fix playback bugs (sticking pitch), add bandlimited waves 2014-06-07 14:39:45 +03:00
Tres Finocchiaro
922ab25217 Fast forward vesa's sample-accurate changes 2014-06-04 09:03:19 -04:00
Tres Finocchiaro
e06759d0d8 Formatting fixes 2014-06-04 08:58:06 -04:00
tresf
f42196315c SF2/VST title rename #462 w/ #774 recommendations 2014-06-04 08:52:12 -04:00
Vesa
06be5bba82 Make MIDI timing sample-accurate
- currently only affects Vestige
- no idea whether this can also be used for Zyn and OpulenZ, I'm not sure if Zyn has any kind of mechanism for communicating frame offset to the synth, as for OpulenZ, @softrabbit would know the answer better
- basically, I made it happen by simply adding an extra parameter in the processMidi{In|Out} functions, which is 0 by default, and made the necessary changes in instrumentTrack and nph to utilize it
- I based this against 1.1 because I didn't think it's a very big change, and I don't see much possibility for things going wrong here, since we're basically just using the existing functionality in Vestige (there already was a frame offset being communicated to the remote plugin, just that it was always set to 0). However, if @tobydox thinks this is better to bump up to 1.2, I can rebase it for master...
2014-06-04 04:23:16 +03:00
Vesa
8bb5733ee5 Nes: Fix previous - forgot to add new models to load/save funcs 2014-05-29 22:57:14 +03:00
Vesa
50c5b0db03 Nes: added pitch sweep for noise channel, freq.quantize mode (constrain frequencies to preset values when using note frequency)
Also added a handful of neat presets that mimick Nes sound effects
2014-05-29 22:48:13 +03:00
Vesa
19d105dc86 Nes: implement vibrato, also: make main pitch update at 60hz frequency regardless of period size or samplerate (guarantees consistency in sound for combined pitch sweep + pitch automation) 2014-05-29 19:32:22 +03:00
Vesa
6e516a358c NES: fix dc offset and distortion 2014-05-26 18:02:55 +03:00
Vesa
750be17b56 Nes: fix sweep 2014-05-26 05:46:53 +03:00
Vesa
8b51e29467 New NES instrument 2014-05-26 03:25:15 +03:00
Vesa
592b4aeb1a New NES instrument 2014-05-26 03:24:36 +03:00
Tobias Doerffel
00e7fe236c ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

HEAD: c38c705ea40914f6bd63f799ab8dad91411a93c0
2014-05-22 11:33:39 +02:00
Vesa
97ff5e99e0 Removal of the "sample-exact controllers" and "anti-aliasing oscillators" qualitysettings. 2014-05-18 21:36:49 +03:00
Tobias Doerffel
6b6bfa2666 Merge pull request #734 from diizy/bandlimit
Move the initialization of BandLimitedWaves into engine.cpp
2014-05-18 15:11:51 +02:00
Vesa
bf54852062 Move the initialization of BandLimitedWaves into engine.cpp
Since we now provide the wavetables as pre-generated files, there's no delay caused by their initialization
so we can move it to the startup of the software. I thought engine.cpp is the best place for this, it makes
conceptually more sense than main.cpp IMO.
This way each instrument that wants to use them in the future won't have to call the initialization function
separately, making things a bit easier.
2014-05-17 23:32:34 +03:00
Vesa
bbcb8635e2 Kicker: a bit of an additional GUI tweak 2014-05-16 20:33:53 +03:00
Vesa
2ff70e6aba Kicker: new UI / graphics, also some additions:
- Envelope length is now temposyncable and has higher maximum
- Distortion is divided to start/end knobs for a simple distortion envelope
- Everything backwards compatible
2014-05-16 15:48:36 +03:00
Umcaruje
05517aefc4 Tweaked the color of the organic logo 2014-05-13 22:02:43 +02:00
Tobias Doerffel
28cf4a5f8d Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	CMakeLists.txt
	data/CMakeLists.txt
	include/SampleBuffer.h
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/zynaddsubfx/src/Params/PADnoteParameters.cpp
	src/core/SampleBuffer.cpp
2014-05-12 21:57:10 +02:00
Tobias Doerffel
0e2451bd6e Watsyn: link against libsamplerate
Fixes Win32/Win64 build.
2014-05-12 21:44:26 +02:00
Tobias Doerffel
2edb5ed2c6 ZynAddSubFX: added update script
Added script to pull in latest ZynAddSubFX sources from LMMS-ZynAddSubFX
repository.
2014-05-12 19:58:25 +02:00
Tobias Doerffel
e4beaf0074 ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

HEAD: c920930cce09b4f691f585d93a19eac85672e50e
2014-05-12 19:17:51 +02:00
Tobias Doerffel
66c2d620ef ZynAddSubFX: removed submodule 2014-05-12 19:15:30 +02:00
Tobias Doerffel
90496600f2 SWH: fixed Win32 compilation
The recent adaptions for OS X broke build for Win32.
2014-05-08 21:59:30 +02:00
Tobias Doerffel
25204abdab Merge remote-tracking branch 'tresf/stable-1.0' into stable-1.0
Conflicts:
	plugins/opl2/fmopl.c
2014-05-08 21:53:03 +02:00
Tres Finocchiaro
049a88fe8e Fix SWH contructors (Apple)
@tobydox, please advise as I cannot easily test the win32 impact of this
change.
2014-05-08 15:36:51 -04:00
Tres Finocchiaro
7fb434c26d #ifdef indent corrections 2014-05-08 11:05:54 -07:00
Tres Finocchiaro
72620542c0 OpulenZ/opl2 build fixes (Apple)
- Cleaned up many non-bracketed sections for stricter compilers.
- Remove custom `INLINE` keyword when building on clang.
- Renable opl2 via plugins\CMakeLists.txts

https://cloud.githubusercontent.com/assets/6345473/2919394/c474d668-d6da-11e3-82db-778a7ce6014d.png
2014-05-08 14:01:27 -04:00
Tobias Doerffel
b9d51f0a40 Merge pull request #685 from tresf/stable-1.0
SWH Clang Fixes, Apple Installer Fixes
2014-05-06 09:39:22 +02:00
Tres Finocchiaro
a80dbd67e4 Replace LMMS_BULD_APPLE with __clang__ 2014-05-03 11:46:02 -07:00
Tres Finocchiaro
b987d3ed04 Replace LMMS_BULD_APPLE with __clang__ 2014-05-03 11:44:58 -07:00
Tres Finocchiaro
b0ffa45011 Include lmmsconfig.h for OS #ifdef 2014-05-03 11:34:16 -07:00
Tres Finocchiaro
ae67c792fe Remove inline function declaration for Apple
Typo :)
2014-05-03 09:30:15 -07:00
Tres Finocchiaro
19130e5fce Apple specific build path
Remove another offending inline function declaration for Apple compat.
2014-05-03 09:00:32 -07:00
Tres Finocchiaro
3d95f82f30 Remove inline function recursion for Apple
q_sort is an inline function which recurses upon itself.  Some compilers such as MSVC limit this which can be overridden with a parameter.  Since I could find no such parameter for clang, this #IFDEF allows the sifter plugin to compile successfully.

If this approach has negative side effects, it should only affect apple.  If there's a better approach to this, please reject the pull request and submit your own.
2014-05-02 14:01:59 -07:00
Vesa
8ea5222793 Monstro: remove useless cast 2014-05-02 22:55:16 +03:00
Vesa
7a4395aabb ... oops 2... 2014-05-02 21:40:07 +03:00
Vesa
ca36fb141d oops.. 2014-05-02 21:37:49 +03:00
Vesa
a218a033b5 Monstro: more bugfixes
Fixes a bug caused by fastPow which was causing hangups in very specific situations only
2014-05-02 21:33:55 +03:00
Tres Finocchiaro
96e41491ad Fix incorrect C99 loop declaration 2014-05-02 10:51:42 -07:00
Tres Finocchiaro
e2c3e65767 Clang comp. fix unnecessary else 2014-05-01 22:13:14 -07:00
Vesa
a2233edfa6 Monstro: envelope bugfixes 2014-05-02 03:57:09 +03:00
Tobias Doerffel
059ddc2875 CMake/FindWine: search for wineg++ executable
Instead of relying on wineg++ being in PATH search for it as it might
reside somewhere else.
2014-05-02 00:17:42 +02:00
Vesa
7da1c5e09f Another small monstro change 2014-05-02 00:57:31 +03:00
Tobias Doerffel
83c2019611 LadspaEffect/TAP: fix instantiation/destruction
Instead of relying on naming the init functions _init() and _fini()
declare them as constructors/destructors and use a different name so
there's no double destruction

Closes #668.
2014-05-01 23:33:40 +02:00
Vesa
787d4e9832 Monstro: very slight change to integrator code 2014-05-01 20:40:11 +03:00
Tobias Doerffel
9c27956414 ZynAddSubFX: allocate spectrum on heap instead of stack
When loading some presets the PADnoteParameters spectrum size is 524288
or even bigger resulting in a stack allocation of 2 MB or more.
This results in a stack overflow on Win32 and thus crashes LMMS. Fix this
by allocating the spectrum on the heap instead.

Closes #543.
2014-04-30 15:20:44 +02:00
Vesa
63747787e4 Organic: fix detuning
The detuning scale was incorrectly calculated: instead of measuring in cents as it claims to, it was actually
in 1/100th octaves, so I fixed it so that I set the units to actual cents (1/100 seminote). Then I set the
range to +/-1200 cents and added compat code so that old values get multiplied by 12, to maintain backwards compat.
2014-04-29 22:54:42 +03:00
Vesa
dce6a26eb3 Organic: update artwork, add harmonic knobs to control harmonic of each oscillator 2014-04-29 20:13:05 +03:00