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

Add slicer plugin #6857

Merged
merged 101 commits into from
Nov 11, 2023
Merged
Show file tree
Hide file tree
Changes from 98 commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
2194613
extremly basic slicer, note playback and gui works
DanielKauss Sep 3, 2023
5941766
very simple peak detection working
DanielKauss Sep 3, 2023
4f91187
basic phase vocoder implementation, no effects yet
DanielKauss Sep 6, 2023
1000e1a
phase vocoder slight rewrite
DanielKauss Sep 6, 2023
85a6e36
pitch shifting works more or less
DanielKauss Sep 6, 2023
7ca35af
basic timeshift working
DanielKauss Sep 6, 2023
89c67d9
PV timeshift working (no pitch shift)
DanielKauss Sep 7, 2023
30ff89a
basic functions work (UI, editing, playback)
DanielKauss Sep 8, 2023
330cc15
slice editor Ui working
DanielKauss Sep 8, 2023
9a2a83d
fundamental functionality done
DanielKauss Sep 8, 2023
76782c1
Everything basic works fully
DanielKauss Sep 8, 2023
126672b
cleanup and code guidelines
DanielKauss Sep 8, 2023
c040192
Merge remote-tracking branch 'origin/master'
DanielKauss Sep 8, 2023
62697af
more file cleanup
DanielKauss Sep 8, 2023
efe1a7e
Tried fixing multi slice playback (still broken)
DanielKauss Sep 9, 2023
6bda6df
remove includes, add license
DanielKauss Sep 9, 2023
d13ca1a
code factoring issues
DanielKauss Sep 9, 2023
6482c16
more code factoring
DanielKauss Sep 9, 2023
5df2b89
fixed multinote playback and bpm check
DanielKauss Sep 10, 2023
6b7e442
UI performance improvments + code style
DanielKauss Sep 10, 2023
d94046c
initial UI changes + more code style
DanielKauss Sep 10, 2023
7391d6d
threadsafe(maybe) + UI finished
DanielKauss Sep 15, 2023
c9ac279
preparing for dinamic timeshifting
DanielKauss Sep 16, 2023
1a09f5f
dynamic timeshifting start
DanielKauss Sep 17, 2023
382f73b
realtime time scaling (no stereo)
DanielKauss Sep 17, 2023
d88b870
stereo added, very slow
DanielKauss Sep 17, 2023
248fe74
playback performance improvments
DanielKauss Sep 18, 2023
b1cfb3c
Roxas new UI start
DanielKauss Sep 21, 2023
f2410fd
fixed cmake
DanielKauss Sep 21, 2023
81977f3
Waveform UI finished
DanielKauss Sep 22, 2023
5ba792b
Roxas UI knobs + layout
DanielKauss Sep 23, 2023
648d6b7
Spectral flux onset detection
DanielKauss Sep 24, 2023
4d183f2
build + PV fixes
DanielKauss Sep 29, 2023
35bb114
clang-format formatting
DanielKauss Sep 29, 2023
0077806
slice snap + better defaults
DanielKauss Sep 30, 2023
0ed6237
windows build fixes
DanielKauss Sep 30, 2023
c91e4a4
windows build fixes part 2
DanielKauss Sep 30, 2023
7f6d7fd
Fixed slice bug + Waveform code cleanup
DanielKauss Oct 1, 2023
ea75dcc
UI button text + reorder + file cleanup
DanielKauss Oct 1, 2023
dd60d69
Added knob colors
DanielKauss Oct 1, 2023
79d6f47
comments + code cleanup
DanielKauss Oct 2, 2023
2a06101
var names fit convention
DanielKauss Oct 2, 2023
c2948c0
PV better windowing
DanielKauss Oct 4, 2023
8457d96
waveform zoom
DanielKauss Oct 4, 2023
b2cd808
Minor style fixes.
consolegrl Oct 5, 2023
b7c7def
Initial artistic rebalancing of the plugin artwork.
consolegrl Oct 5, 2023
9a0bd87
PV phase ghosting fix
DanielKauss Oct 5, 2023
1080e5c
Use base note as keyboard slice start
DanielKauss Oct 5, 2023
290ef8d
Good draft of Artwork, renamed bg to artwork
consolegrl Oct 5, 2023
611884a
Removed soft glow.
consolegrl Oct 6, 2023
2d22249
Fixed load crashes + findSlices cleanup
DanielKauss Oct 7, 2023
3e0419f
Added sync button
DanielKauss Oct 7, 2023
e202dec
Merge pull request #2 from consolegrl/slicert-style
DanielKauss Oct 10, 2023
6990944
added pitch shifting, sometimes crashes
DanielKauss Oct 10, 2023
0cc28bd
pitch fixes
DanielKauss Oct 11, 2023
5a56aea
MacOs build fixes
DanielKauss Oct 11, 2023
441052c
use linear interpolation
DanielKauss Oct 11, 2023
9185d2d
copyright + div by 0 fixes
DanielKauss Oct 12, 2023
fbbe9f0
Fixed rare crash + name changes + license
DanielKauss Oct 13, 2023
ae50fd9
review: memcpy, no array, LMMS header, name change
DanielKauss Oct 13, 2023
2d55539
static constexpr added
DanielKauss Oct 13, 2023
a44c42e
static vars to public + LMMS guards
DanielKauss Oct 13, 2023
7e7d42c
remove references in classes
DanielKauss Oct 13, 2023
be19d9b
remove constexpr and parent pointer in waveform
DanielKauss Oct 13, 2023
0511e74
std::array for fft
DanielKauss Oct 13, 2023
9a9ca50
fixed wrong name in style
DanielKauss Oct 13, 2023
ef81ac5
remove c style casts
DanielKauss Oct 14, 2023
44e712d
use src_process
DanielKauss Oct 14, 2023
d74ad4a
use note vector for return
DanielKauss Oct 15, 2023
f745af6
Moved PhaseVocoder into core
DanielKauss Oct 15, 2023
efd9c61
removed PV from plugin
DanielKauss Oct 15, 2023
525d29b
remove pointers in waveform
DanielKauss Oct 15, 2023
669cdd2
clang-format again
DanielKauss Oct 15, 2023
95eee6d
Use std:: + review suggestions
DanielKauss Oct 15, 2023
eb5cfdb
More review changes
DanielKauss Oct 15, 2023
ae4df11
new signal slot + more review
DanielKauss Oct 15, 2023
34ba2dc
Fixed pitch shifting
DanielKauss Oct 18, 2023
eb11366
Fixed buffer overflow in PV
DanielKauss Oct 22, 2023
e4e680a
Fixed mouse bug + better empty screen
DanielKauss Oct 22, 2023
a3b601c
Small editor refactor + improvments
DanielKauss Oct 28, 2023
965850e
Editor playback visual + small fixes
DanielKauss Oct 28, 2023
57e90fd
Roxas UI improvments
DanielKauss Oct 29, 2023
b9e1605
initial timeshift removing
DanielKauss Nov 3, 2023
b23f2dc
Remove timeshift + slice refactor
DanielKauss Nov 4, 2023
33c08f3
Removed unused files
DanielKauss Nov 4, 2023
efde89d
Fix export bug
DanielKauss Nov 4, 2023
adb8148
Fix zoom bug
DanielKauss Nov 4, 2023
a4ab2b4
Review changes SakerTooth#2
DanielKauss Nov 5, 2023
4a2236b
Remove most comments
DanielKauss Nov 5, 2023
f44fa4d
Performance + click to load
DanielKauss Nov 5, 2023
cdf45fc
update PlaybackState + zerocross snapping
DanielKauss Nov 5, 2023
faeeaef
Fix windows build issue
DanielKauss Nov 5, 2023
24738bb
Review + version
DanielKauss Nov 8, 2023
df8b90f
Fixed fade out bug
DanielKauss Nov 8, 2023
b2e7f11
Use cosine interpolation
DanielKauss Nov 8, 2023
1f5c494
Apply suggestions from code review
DanielKauss Nov 8, 2023
d2734c9
More review changes
DanielKauss Nov 8, 2023
b4b64b1
Renamed files
DanielKauss Nov 10, 2023
1fb4618
Full sample only at base note
DanielKauss Nov 11, 2023
bf7bdc4
Fix memory leak
DanielKauss Nov 11, 2023
4894e95
Style fixes
DanielKauss Nov 11, 2023
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
1 change: 1 addition & 0 deletions cmake/modules/PluginList.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ SET(LMMS_PLUGIN_LIST
Sf2Player
Sfxr
Sid
SlicerT
SpectrumAnalyzer
StereoEnhancer
StereoMatrix
Expand Down
8 changes: 8 additions & 0 deletions data/themes/classic/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,14 @@ lmms--gui--SidInstrumentView lmms--gui--Knob {
qproperty-lineWidth: 2;
}

lmms--gui--SlicerTView lmms--gui--Knob {
color: rgb(162, 128, 226);
qproperty-outerColor: rgb( 162, 128, 226 );
qproperty-innerRadius: 1;
qproperty-outerRadius: 11;
qproperty-lineWidth: 3;
}

lmms--gui--WatsynView lmms--gui--Knob {
qproperty-innerRadius: 1;
qproperty-outerRadius: 7;
Expand Down
Binary file added data/themes/default/lcd_19purple.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/themes/default/lcd_19purple_dot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions data/themes/default/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -946,6 +946,14 @@ lmms--gui--SidInstrumentView lmms--gui--Knob {
qproperty-lineWidth: 2;
}

lmms--gui--SlicerTView lmms--gui--Knob {
color: rgb(162, 128, 226);
qproperty-outerColor: rgb( 162, 128, 226 );
qproperty-innerRadius: 1;
qproperty-outerRadius: 11;
qproperty-lineWidth: 3;
}

lmms--gui--WatsynView lmms--gui--Knob {
qproperty-innerRadius: 1;
qproperty-outerRadius: 7;
Expand Down
6 changes: 4 additions & 2 deletions include/Clipboard.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@
#ifndef LMMS_CLIPBOARD_H
#define LMMS_CLIPBOARD_H

#include <QMap>
#include <QDomElement>
#include <QMap>

#include "lmms_export.h"

class QMimeData;

Expand All @@ -44,7 +46,7 @@ namespace lmms::Clipboard
bool hasFormat( MimeType mT );

// Helper methods for String data
void copyString( const QString & str, MimeType mT );
void LMMS_EXPORT copyString(const QString& str, MimeType mT);
QString getString( MimeType mT );

// Helper methods for String Pair data
Expand Down
10 changes: 10 additions & 0 deletions plugins/SlicerT/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
INCLUDE(BuildPlugin)

INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS})
LINK_LIBRARIES(${FFTW3F_LIBRARIES})

INCLUDE_DIRECTORIES(${SAMPLERATE_INCLUDE_DIRS})
LINK_DIRECTORIES(${SAMPLERATE_LIBRARY_DIRS})
LINK_LIBRARIES(${SAMPLERATE_LIBRARIES})

BUILD_PLUGIN(slicert SlicerT.cpp SlicerT.h SlicerTView.cpp SlicerTView.h SlicerTWaveform.cpp SlicerTWaveform.h MOCFILES SlicerT.h SlicerTView.h SlicerTWaveform.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
Loading
Loading