Age | Commit message (Collapse) | Author |
|
|
|
The moc_compilation file became unbearable large, easily taking 10 minutes
to compile whenever a Q_OBJECT changes.
AUTOMOC scans for <basename>_moc.cpp includes and does not add the file
to the moc_compilation whenever it is included in the propper cpp file.
After this patch, moc_compilation.cpp is empty and the mocs are compiled
with the approptial cpp, increasing recompile speeds by a factor of 10 when
just a header file changed.
|
|
Many widgets and common widget parsing code in LegacySkinParser used an
inefficient method of accessing state:
if (context.hasNode(node, "Foo")) {
QDomElement foo = context.selectElement(node, "Foo");
}
This is inefficient because of the double lookup (which is O(n) in XML
children). This code is at the core of parsing the entire widget tree so
the inefficiencies add up -- we run code of this pattern many hundreds
of times for one skin.
|
|
|
|
|
|
Using LLVM 3.8.0:
$ clang-tidy --fix --checks="*,-llvm-header-guard,-readability-implicit-bool-cast,-readability-else-after-return,-google-readability-todo" $(git ls src/widget | xargs) -- (flags to compile)
|
|
|
|
We can acheve the same function by using Transform inside the connection.
|
|
substitution by %1 in WNumber.
|
|
* Delete mathstuff.h and defs.h.
* Move typedefs into util/types.h.
* Move definitions into util/defs.h.
* Use std::min and std::max for math_min and math_max.
* Replace math_clamp with a template function to prevent repeated sub-expressions.
* Add a Result enum for SoundSource::open() and SoundSource::parseHeader().
* Misc. other header-related cleanups.
|
|
WNumber (and other widgets) base updates on value. Fixes Bug #1301994.
|
|
|
|
|
|
* Show only one decimal place for bpm and rate
* Waveform stretch reacts more slowly to small changes in rate.
* Vinyl control bpm updates are much more sticky.
|
|
This paves the way for getting rid of widget values and adding the concept of a
display value vs. a left/right connected widget value. An added benefit is that
ControlObjectThreadWidget is now nothing more than a parameter-space translator
on top of ControlObjectThreadMain.
|
|
WLabel and its variants don't really need anything provided by WWidget. As far
as I can tell no existing CSS styles use WWidget to style WLabel either, so this
should be safe skin-wise. This also gets rid of WWidget::getComposedWidget since
its sole purpose was for styling labels.
|
|
context.
* Remove WWidget::select* methods.
* Update all WWidget-style setup() methods to take a constant.
* Migrate all non-skin uses of WWidget::select* to use XmlParse::select*.
|
|
|
|
* Eliminate all instances of including QtCore, QtGui, or QtXml.
* Replace all old-style Qt header inclusions with new-style (e.g. #include <application.h>).
* Include QtDebug instead of QDebug.
* Update many classes to include the Qt classes they use in their header and implementation file.
This speeds up compile and link performance and reduces the size of the compiled object files. My build directory dropped by 50MB.
|
|
|
|
|