Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xpressive plugin #3259

Merged
merged 32 commits into from
Jun 26, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
07ae0b7
First Preview of the X-Pressive Plugin
gnudles Jan 8, 2017
2726462
Xpressive Plug-In:
gnudles Jan 9, 2017
d78377c
X-Pressive Plug-In: Few more fixes
gnudles Jan 11, 2017
a728535
Special version of ExprTk with modified license (BSL) for the LMMS pr…
ArashPartow Jan 13, 2017
1450494
Xpressive Plug-In- fixed some building errors.
gnudles Jan 18, 2017
c5e5837
Xpressive Plug-In - fix mingw64 issues
gnudles Jan 18, 2017
32d0d6e
X-Pressive Plug-in:
gnudles Jan 21, 2017
8522d66
Xpressive Plug-In:
gnudles Jan 24, 2017
1265335
X-Pressive plug-in: updated presets names
gnudles Feb 8, 2017
955fdd3
X-Pressive plug-in
gnudles Feb 11, 2017
3ae8bff
X-Pressive plug-in: code cleaning
gnudles Feb 16, 2017
30418c6
X-Pressive plug-in, code cleaning, changed the rendering function to
gnudles Feb 18, 2017
66534db
X-Pressive plug-in - fix the string counting function
gnudles Feb 28, 2017
66267c1
X-Pressive plug-in - until somebody will find a better solution,
gnudles Feb 28, 2017
43604be
X-Pressive plug-in - fix compiling errors.
gnudles Feb 28, 2017
e8a8a35
X-Pressive plug-in - added patch file for exprtk.hpp,
gnudles Mar 25, 2017
a5d8c13
X-Pressive plugin - moved the patched file back to the source tree, a…
gnudles Mar 28, 2017
9b2fb3a
X-Pressive plugin - fix compilation error. (isnan isinf)
gnudles Apr 3, 2017
3addbd0
Updates to ExprTk
ArashPartow Apr 4, 2017
305aa5b
X-Pressive plugin - tried to fix embed.cpp problem,
gnudles Apr 4, 2017
991bb07
X-Pressive plugin - fixed cmake script
gnudles Apr 4, 2017
11b3019
X-Pressive plugin - updated the license and the diff file.
gnudles Apr 4, 2017
da628dc
Added return statement enable/disable via parser settings
ArashPartow Apr 5, 2017
da5b965
X-Pressive plugin - updated CMakeLists.txt to use the correct flags o…
gnudles Apr 6, 2017
64a6e02
X-Pressive plugin - moved the enhanced features flag to the WIN64 ins…
gnudles Apr 6, 2017
dfb8790
X-Pressive plugin - another fix for CMakeLists.txt
gnudles Apr 6, 2017
9d4f8c0
Minor updates to ExprTk
ArashPartow Apr 10, 2017
5ea40b6
X-Pressive plug-in - added try-block around exprtk calls and enabled the
gnudles Apr 23, 2017
19db008
X-Pressive plug-in - small fix in CMakeLists.txt
gnudles Apr 23, 2017
007147c
Update ExprTk to tip of branch.
ArashPartow Apr 25, 2017
eb12ec2
X-Pressive plugin - added graph drawing feature..
gnudles May 17, 2017
5e66f1b
Updating exprtk.hpp to the latest upstream version
zonkmachine Jun 20, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmake/modules/BuildPlugin.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ MACRO(BUILD_PLUGIN PLUGIN_NAME)
CMAKE_PARSE_ARGUMENTS(PLUGIN "" "" "MOCFILES;EMBEDDED_RESOURCES;UICFILES;LINK" ${ARGN})
SET(PLUGIN_SOURCES ${PLUGIN_UNPARSED_ARGUMENTS})

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src/gui)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/include)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry if this was already explained previously, but was ${CMAKE_SOURCE_DIR}/src/gui deemed as unnecessary for all of our plugins and was lingering from something else?

Copy link
Member

@tresf tresf May 9, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update, this appears to date back 9 years and I see no evidence it's needed as headers aren't in that directory. Should be safe to remove. 👍


ADD_DEFINITIONS(-DPLUGIN_NAME=${PLUGIN_NAME})

Expand Down
21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Accordion.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Ambition.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Baby Violin.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Bad Singer.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Cloud Bass.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Creature.xpf

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions data/presets/X-Pressive/Dream.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Electric Shock.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Faded Colors.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Fat Flute.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Frog.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Horn.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Low Battery.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Piano-Gong.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Rubber Bass.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Space Echoes.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Speaker Swapper.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Toss.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Untuned Bell.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/Vibrato.xpf

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions data/presets/X-Pressive/X-Distorted.xpf

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion include/Graph.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ class EXPORT Graph : public QWidget, public ModelView
update();
}


signals:
void drawn();
protected:
virtual void paintEvent( QPaintEvent * _pe );
virtual void dropEvent( QDropEvent * _de );
Expand Down Expand Up @@ -145,6 +146,8 @@ class EXPORT graphModel : public Model
return( m_samples.data() );
}

void convolve(const float *convolution, const int convolutionLength, const int centerOffset);

public slots:
void setRange( float _min, float _max );

Expand All @@ -165,6 +168,7 @@ public slots:
void normalize();
void invert();
void shiftPhase( int _deg );
void clear();

signals:
void lengthChanged();
Expand Down
1 change: 1 addition & 0 deletions plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ IF("${PLUGIN_LIST}" STREQUAL "")
watsyn
waveshaper
vibed
xpressive
zynaddsubfx
)

Expand Down
2 changes: 2 additions & 0 deletions plugins/xpressive/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#ignore the patched file
exprtk.patched.hpp
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has the patched file been removed? (can this file be removed now?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The patch was removed due to compilation with the -fexceptions flag and the release of new exprtk version that allow one to disable return statement.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All calls for Exprtk are now surrounded by try-blocks.

10 changes: 10 additions & 0 deletions plugins/xpressive/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
INCLUDE(BuildPlugin)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dexprtk_disable_sc_andor -Dexprtk_disable_return_statement -Dexprtk_disable_break_continue -Dexprtk_disable_comments -Dexprtk_disable_string_capabilities -Dexprtk_disable_rtl_io_file -Dexprtk_disable_rtl_vecops ${WERROR_FLAGS} -fexceptions")

IF(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wa,-mbig-obj -Dexprtk_disable_enhanced_features")
ENDIF()

BUILD_PLUGIN(xpressive expressive_plugin.cpp exprsynth.cpp expressive_plugin.h exprtk.hpp MOCFILES expressive_plugin.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")

17 changes: 17 additions & 0 deletions plugins/xpressive/MIT
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Copyrights for exprtk.hpp

Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Binary file added plugins/xpressive/artwork.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading