The audio_jack driver currently treats the jack transport status as a
flag for whether or not to output audio. This is incorrect and
unintended usage of jack transport. The attached patch simply removes
all references to jack transport from the driver, so that LMMS will
always be able to produce audio.
Closes#2816029.
Sorted items in TODO list a bit to match release goals of planned
versions. Items regarding 0.4.x series were moved over to TODO list
in stable-0.4 branch. Furthermore removed items that are out of date.
As per popular demand I added CALF LADSPA plugins to be shipped with
LMMS. After some minor modifications the plugins compile and work on
win32 platform too.
Added a range check for channel parameter when adding notes. This fixes
a crash when for example importing the project posted on lmms-devel
by Andew Kelley lately.
Per request, make the Controller-rack vertically sizable. This is also
part of our effort to slowly deprecate old fixed-positioning code in
favor of layouts.
Switching to HQ mode in standard workflow doesn't make much sense and
is likely to cause problems. Therefore remove the HQ mode button for
for time being. One can still export projects in high(er) quality.
MINGW_PREFIX is a better variable name than CC_PREFIX (cross copmling
prefix), therefore rename it. Furthermore define QT_HEADERS_DIR due to
changed logic in CMake's FindQt4 module.
Updated FLTK to SVN revision 6841 of branch-1.3:
- Fixed glibc 2.10 compiler problems (Fedora 11 and others)
with scandir() and strchr() (STR #2222)
- Fl_Scroll mods for global scrollbar size control
- various other minor stuff (see SVN log)
Do not crash if no fluid_voice could be determined in
sf2Instrument::playNote() (which for example happens if no soundfont
is loaded). Furthermore protect the FluidSynth API calls in the
envelope and panning code with global synth mutex.
Finally there's proper support for panning and volume envelopes. This
is achieved by changing parameters of individual voices (one voice is
being created for each note). The new code also replaces the old
panning hacks which played notes on different channels and changed
panning of individual channels.
Closes#2010818.
Casting to panning_t in calculation in panningToMidi() leads to
integer overflows and thus to miscalculations. This resulted for
example in wrong panning during note preview when editing panning
of a note in PianoRoll. Casting to int instead fixes the issue.
* cleaned up code and improved coding style
* removed old SINGLE_SOURCE_COMPILE macro relicts
* use QString::toUtf8() instead of QString::toAscii() wherever possible
The macro logic for defining the SPINLOCK_PAUSE macro tested against
LMMS_HOST_X86_64 twice instead of testing against LMMS_HOST_X86_64 and
LMMS_HOST_X86. This caused the SPINLOCK_PAUSE macro not being set on
x86.
Updated CAPS plugins to version 0.4.3 - changes:
* basics.h cleanup / comments
* minor Makefile cleanup
* comment cosmetics
* Eq and Eq2x2 per-band Q changed to 1.414 (= 1 octave)
* Eq lowest band default value fixed to read 0
* Niclas' fix for the bessel function implemented
* uninitialised plugin states eliminated thanks to Damon
* linker options for OSX added to the Makefile
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Added macros PREFETCH_READ() and PREFETCH_WRITE() which insert proper
prefetch instructions. At least on my Intel Atom CPU this improves
performany slightly. Probably needs some further tuning.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
The new CPU framework replaces the old BasicOps framework. It is more
flexible and the build process isn't such a mess anymore (pre-compiled
assembler files etc.). It will hopefully see some improvements and
extensions soon.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
QString::toStdString() is not aware of locale specific characters (it
just converts to ASCII). Therefore added new macro QSTR_TO_STDSTR which
converts a QString to std::string with UTF8 characters.
Use this new macro in LMMS VST Support Layer and ZynAddSubFX plugin.
This fixes for example VST plugins not being loaded when the path to
the DLL contains non-ASCII (e.g. cyrillic) characters.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Removed myself from list of copyright holders as I didn't help out
with LAME support at all.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Properly handle HTTP status code 302 which indicates a moved site,
i.e. try to fetch data from the new location. This finally makes
WebResources work again with LSP being moved to http://lmms.info.
Furthermore cleaned up code a bit. There's no need for a global
QHttp object or a global QBuffer object. Instead allocate them on
the stack in the according methods.
Furthermore removed unused/incomplete support for non-blocking download.
We should introduce support for a ProgressDialog solution (also allowing
to cancel operations) later.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Translated userwave0="samples/empty.wav" to userwave0="" and such.
Additionally updated references - if they included "samples/" I
took that out since now they reference from samples already.
<superjoe> why is that code even there?
<pgib> until the next mixer-period, then the model's value is reset
to the actual automation track
<pgib> I have no idea. I think it should be removed honestly. again,
there is no comment explainign the true intent
* superjoe experiments
<pgib> it was probably a poor attempt to make it so when you adjust
the only automation point for a track, that the value of the model
will change immediately'
<pgib> I think it is safe to move the newTime==0 chunk
<pgib> if we want to make the automationEditor immediately change the
value, there needs to be more logic
<pgib> and it would belong in automationEditor -- not automationPattern
<pgib> but this fixes the superAutomation why-in-the-hell bug
When you press down or up while browsing in the resource browser,
it plays the sample.
FIXED: When you click on the keyboard in the resource browser, and then
click on the treeview, it didn't transfer focus.
exportProjectDialog - select the output file format based on
what the user has already chosen in the export dialog. Prevents
the user from having to choose twice.
(also fixed whitespace and added modelines where applicable)
Refactor supported file extensions from AudioFileProcessor to
sampleBuffer, where the magic really happens. Change the hard-
coded MessageBox explaining supported formats to the real deal.
Also added modelines and switched spaces to tabs in the files
affected.
There is a new folder setting called Lame Library. AudioFileMp3
will look here for libmp3lame.so.0. If it can't find it it will
notify the user how to make it work and abort rendering gracefully.
Explicitely destroy instance of ResourceBrowser in destructor of
MainWindow. This fixes crash at exit due to auto-deletion mechanisms
after the whole engine already has been shutdown.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Setting time signatures 1/16+ lead to divisions by zero in two places.
Fixed this by adding according qMax() call (closes#2818125).
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>