From 7c0e7b6c6cd783af3f336776efc479d07863d895 Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Tue, 26 Aug 2014 01:18:31 -0500 Subject: [PATCH 01/28] Update 3OSC Presets --- .../TripleOscillator/AmazingBubbles.xpf | 19 ---- data/presets/TripleOscillator/AnalogBell.xpf | 21 +++++ .../presets/TripleOscillator/AnalogDreamz.xpf | 32 +++---- data/presets/TripleOscillator/AnalogTimes.xpf | 32 +++---- .../presets/TripleOscillator/AnalogTimes2.xpf | 21 ----- data/presets/TripleOscillator/Analogous.xpf | 30 ++++--- data/presets/TripleOscillator/ArpKing.xpf | 18 ---- .../{Arpeggio_2.xpf => Arpeggio.xpf} | 0 .../presets/TripleOscillator/ArpeggioPing.xpf | 21 +++++ data/presets/TripleOscillator/Arpeggio_1.xpf | 21 ----- data/presets/TripleOscillator/Bell.xpf | 43 ++++++--- data/presets/TripleOscillator/BellArp.xpf | 21 +++++ data/presets/TripleOscillator/Bell_2.xpf | 19 ---- data/presets/TripleOscillator/DeathBass.xpf | 36 -------- .../TripleOscillator/Distorted-FM-Bass.xpf | 19 ---- .../TripleOscillator/DistortedPMBass.xpf | 21 +++++ .../TripleOscillator/Dull-Bell-Arp.xpf | 19 ---- data/presets/TripleOscillator/DullBell.xpf | 21 +++++ .../TripleOscillator/Fat-FMish-Bells.xpf | 19 ---- .../TripleOscillator/Fat-TB303-Arp.xpf | 18 ---- data/presets/TripleOscillator/Fat.xpf | 17 ---- data/presets/TripleOscillator/FatCheese.xpf | 28 +++--- data/presets/TripleOscillator/FatPMArp.xpf | 21 +++++ data/presets/TripleOscillator/FatTB303Arp.xpf | 21 +++++ data/presets/TripleOscillator/Freaky-Bass.xpf | 19 ---- data/presets/TripleOscillator/FutureBass.xpf | 29 +++--- .../TripleOscillator/FuzzyAnalogBass.xpf | 21 +++++ data/presets/TripleOscillator/Gong.xpf | 19 ---- data/presets/TripleOscillator/Harmonium.xpf | 22 ++--- data/presets/TripleOscillator/Harpsichord.xpf | 19 ---- data/presets/TripleOscillator/Jupiter.xpf | 24 ++--- data/presets/TripleOscillator/Kick.xpf | 18 ---- data/presets/TripleOscillator/Kick2.xpf | 18 ---- .../presets/TripleOscillator/MoveYourBody.xpf | 31 ++++--- .../TripleOscillator/OldComputerGames.xpf | 48 ++++++---- .../{SBass.xpf => PMbass.xpf} | 12 +-- .../TripleOscillator/Play-some-rock.xpf | 46 +++++++--- data/presets/TripleOscillator/PluckBass.xpf | 45 ++++++++++ data/presets/TripleOscillator/Plucked.xpf | 18 ---- .../presets/TripleOscillator/PowerStrings.xpf | 32 +++++-- data/presets/TripleOscillator/Ravemania.xpf | 31 ++++--- data/presets/TripleOscillator/ResoBass.xpf | 32 +++---- data/presets/TripleOscillator/ResonantPad.xpf | 32 +++---- data/presets/TripleOscillator/RockOrgan.xpf | 19 ---- data/presets/TripleOscillator/Rough!.xpf | 32 +++---- data/presets/TripleOscillator/SBass2.xpf | 36 -------- .../SP Presets/BlandModBass.xpf | 21 +++++ .../TripleOscillator/SP Presets/BrokenToy.xpf | 50 +++++++++++ .../SP Presets/CryingPads.xpf | 34 +++++++ .../SP Presets/DetunedGhost.xpf | 37 ++++++++ .../SP Presets/DirtyReece.xpf | 83 +++++++++++++++++ .../SP Presets/ElectricOboe.xpf | 62 +++++++++++++ .../TripleOscillator/SP Presets/Garfunkel.xpf | 71 +++++++++++++++ .../TripleOscillator/SP Presets/GhostBoy.xpf | 80 +++++++++++++++++ .../SP Presets/HugeGrittyBass.xpf | 21 +++++ .../SP Presets/PM-FMstring.xpf | 34 +++++++ .../SP Presets/PMFMFTWbass.xpf | 62 +++++++++++++ .../SP Presets/PercussiveBass.xpf | 44 +++++++++ .../TripleOscillator/SP Presets/README.txt | 3 + .../SP Presets/SquarePing.xpf | 34 +++++++ .../SP Presets/SuperSawLead.xpf | 44 +++++++++ .../TripleOscillator/SP Presets/TINTNpad.xpf | 52 +++++++++++ data/presets/TripleOscillator/SawLead.xpf | 21 ----- data/presets/TripleOscillator/SawReso.xpf | 18 ---- data/presets/TripleOscillator/Short1.xpf | 19 ---- data/presets/TripleOscillator/Short2.xpf | 19 ---- data/presets/TripleOscillator/Short3.xpf | 19 ---- data/presets/TripleOscillator/Short4.xpf | 19 ---- data/presets/TripleOscillator/Snare.xpf | 18 ---- data/presets/TripleOscillator/SoftBass.xpf | 21 ----- data/presets/TripleOscillator/SoftStrings.xpf | 21 ----- data/presets/TripleOscillator/SpaceBass.xpf | 19 ---- data/presets/TripleOscillator/Supernova.xpf | 89 ++++++++++++++----- .../TripleOscillator/TB303-Arpeggio.xpf | 21 ----- data/presets/TripleOscillator/TheMaster.xpf | 39 +++++--- data/presets/TripleOscillator/TranceLead.xpf | 19 ---- data/presets/TripleOscillator/WarmStack.xpf | 14 +-- 77 files changed, 1362 insertions(+), 887 deletions(-) delete mode 100644 data/presets/TripleOscillator/AmazingBubbles.xpf create mode 100644 data/presets/TripleOscillator/AnalogBell.xpf delete mode 100644 data/presets/TripleOscillator/AnalogTimes2.xpf delete mode 100644 data/presets/TripleOscillator/ArpKing.xpf rename data/presets/TripleOscillator/{Arpeggio_2.xpf => Arpeggio.xpf} (100%) create mode 100644 data/presets/TripleOscillator/ArpeggioPing.xpf delete mode 100644 data/presets/TripleOscillator/Arpeggio_1.xpf create mode 100644 data/presets/TripleOscillator/BellArp.xpf delete mode 100644 data/presets/TripleOscillator/Bell_2.xpf delete mode 100644 data/presets/TripleOscillator/DeathBass.xpf delete mode 100644 data/presets/TripleOscillator/Distorted-FM-Bass.xpf create mode 100644 data/presets/TripleOscillator/DistortedPMBass.xpf delete mode 100644 data/presets/TripleOscillator/Dull-Bell-Arp.xpf create mode 100644 data/presets/TripleOscillator/DullBell.xpf delete mode 100644 data/presets/TripleOscillator/Fat-FMish-Bells.xpf delete mode 100644 data/presets/TripleOscillator/Fat-TB303-Arp.xpf delete mode 100644 data/presets/TripleOscillator/Fat.xpf create mode 100644 data/presets/TripleOscillator/FatPMArp.xpf create mode 100644 data/presets/TripleOscillator/FatTB303Arp.xpf delete mode 100644 data/presets/TripleOscillator/Freaky-Bass.xpf create mode 100644 data/presets/TripleOscillator/FuzzyAnalogBass.xpf delete mode 100644 data/presets/TripleOscillator/Gong.xpf delete mode 100644 data/presets/TripleOscillator/Harpsichord.xpf delete mode 100644 data/presets/TripleOscillator/Kick.xpf delete mode 100644 data/presets/TripleOscillator/Kick2.xpf rename data/presets/TripleOscillator/{SBass.xpf => PMbass.xpf} (84%) create mode 100644 data/presets/TripleOscillator/PluckBass.xpf delete mode 100644 data/presets/TripleOscillator/Plucked.xpf delete mode 100644 data/presets/TripleOscillator/RockOrgan.xpf delete mode 100644 data/presets/TripleOscillator/SBass2.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/BlandModBass.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/BrokenToy.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/CryingPads.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/DirtyReece.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/Garfunkel.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/GhostBoy.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/README.txt create mode 100644 data/presets/TripleOscillator/SP Presets/SquarePing.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf create mode 100644 data/presets/TripleOscillator/SP Presets/TINTNpad.xpf delete mode 100644 data/presets/TripleOscillator/SawLead.xpf delete mode 100644 data/presets/TripleOscillator/SawReso.xpf delete mode 100644 data/presets/TripleOscillator/Short1.xpf delete mode 100644 data/presets/TripleOscillator/Short2.xpf delete mode 100644 data/presets/TripleOscillator/Short3.xpf delete mode 100644 data/presets/TripleOscillator/Short4.xpf delete mode 100644 data/presets/TripleOscillator/Snare.xpf delete mode 100644 data/presets/TripleOscillator/SoftBass.xpf delete mode 100644 data/presets/TripleOscillator/SoftStrings.xpf delete mode 100644 data/presets/TripleOscillator/SpaceBass.xpf delete mode 100644 data/presets/TripleOscillator/TB303-Arpeggio.xpf delete mode 100644 data/presets/TripleOscillator/TranceLead.xpf diff --git a/data/presets/TripleOscillator/AmazingBubbles.xpf b/data/presets/TripleOscillator/AmazingBubbles.xpf deleted file mode 100644 index b0dad2024..000000000 --- a/data/presets/TripleOscillator/AmazingBubbles.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/AnalogBell.xpf b/data/presets/TripleOscillator/AnalogBell.xpf new file mode 100644 index 000000000..18f4d2baa --- /dev/null +++ b/data/presets/TripleOscillator/AnalogBell.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/AnalogDreamz.xpf b/data/presets/TripleOscillator/AnalogDreamz.xpf index 84d4e0af5..0af114cb9 100644 --- a/data/presets/TripleOscillator/AnalogDreamz.xpf +++ b/data/presets/TripleOscillator/AnalogDreamz.xpf @@ -1,19 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/AnalogTimes.xpf b/data/presets/TripleOscillator/AnalogTimes.xpf index f2a59e0d6..0717947ed 100644 --- a/data/presets/TripleOscillator/AnalogTimes.xpf +++ b/data/presets/TripleOscillator/AnalogTimes.xpf @@ -1,19 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/AnalogTimes2.xpf b/data/presets/TripleOscillator/AnalogTimes2.xpf deleted file mode 100644 index 6c8b73910..000000000 --- a/data/presets/TripleOscillator/AnalogTimes2.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Analogous.xpf b/data/presets/TripleOscillator/Analogous.xpf index 200820acc..ec5c61a60 100644 --- a/data/presets/TripleOscillator/Analogous.xpf +++ b/data/presets/TripleOscillator/Analogous.xpf @@ -1,19 +1,21 @@ - - - + + + - - - + + + + + - - - - - + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/ArpKing.xpf b/data/presets/TripleOscillator/ArpKing.xpf deleted file mode 100644 index af1b28958..000000000 --- a/data/presets/TripleOscillator/ArpKing.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Arpeggio_2.xpf b/data/presets/TripleOscillator/Arpeggio.xpf similarity index 100% rename from data/presets/TripleOscillator/Arpeggio_2.xpf rename to data/presets/TripleOscillator/Arpeggio.xpf diff --git a/data/presets/TripleOscillator/ArpeggioPing.xpf b/data/presets/TripleOscillator/ArpeggioPing.xpf new file mode 100644 index 000000000..5da4c30d8 --- /dev/null +++ b/data/presets/TripleOscillator/ArpeggioPing.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Arpeggio_1.xpf b/data/presets/TripleOscillator/Arpeggio_1.xpf deleted file mode 100644 index 0b5f888be..000000000 --- a/data/presets/TripleOscillator/Arpeggio_1.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Bell.xpf b/data/presets/TripleOscillator/Bell.xpf index e3d7d7bbe..1d7044980 100644 --- a/data/presets/TripleOscillator/Bell.xpf +++ b/data/presets/TripleOscillator/Bell.xpf @@ -1,19 +1,34 @@ - - - + + + - - - + + + + + - - - - - + + + - - + + + + + + + + + + + + + + + + + - + diff --git a/data/presets/TripleOscillator/BellArp.xpf b/data/presets/TripleOscillator/BellArp.xpf new file mode 100644 index 000000000..63f4edb06 --- /dev/null +++ b/data/presets/TripleOscillator/BellArp.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Bell_2.xpf b/data/presets/TripleOscillator/Bell_2.xpf deleted file mode 100644 index 22d326648..000000000 --- a/data/presets/TripleOscillator/Bell_2.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/DeathBass.xpf b/data/presets/TripleOscillator/DeathBass.xpf deleted file mode 100644 index 1315983a0..000000000 --- a/data/presets/TripleOscillator/DeathBass.xpf +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Distorted-FM-Bass.xpf b/data/presets/TripleOscillator/Distorted-FM-Bass.xpf deleted file mode 100644 index 36260145e..000000000 --- a/data/presets/TripleOscillator/Distorted-FM-Bass.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/DistortedPMBass.xpf b/data/presets/TripleOscillator/DistortedPMBass.xpf new file mode 100644 index 000000000..970235507 --- /dev/null +++ b/data/presets/TripleOscillator/DistortedPMBass.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Dull-Bell-Arp.xpf b/data/presets/TripleOscillator/Dull-Bell-Arp.xpf deleted file mode 100644 index bf9593286..000000000 --- a/data/presets/TripleOscillator/Dull-Bell-Arp.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/DullBell.xpf b/data/presets/TripleOscillator/DullBell.xpf new file mode 100644 index 000000000..549689e4e --- /dev/null +++ b/data/presets/TripleOscillator/DullBell.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Fat-FMish-Bells.xpf b/data/presets/TripleOscillator/Fat-FMish-Bells.xpf deleted file mode 100644 index 5d0797c6f..000000000 --- a/data/presets/TripleOscillator/Fat-FMish-Bells.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Fat-TB303-Arp.xpf b/data/presets/TripleOscillator/Fat-TB303-Arp.xpf deleted file mode 100644 index 0ed09990b..000000000 --- a/data/presets/TripleOscillator/Fat-TB303-Arp.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Fat.xpf b/data/presets/TripleOscillator/Fat.xpf deleted file mode 100644 index af22b06dc..000000000 --- a/data/presets/TripleOscillator/Fat.xpf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/FatCheese.xpf b/data/presets/TripleOscillator/FatCheese.xpf index 4f3d12a68..748b4dfe3 100644 --- a/data/presets/TripleOscillator/FatCheese.xpf +++ b/data/presets/TripleOscillator/FatCheese.xpf @@ -1,17 +1,21 @@ - - - + + + - - - + + + + + - - - + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/FatPMArp.xpf b/data/presets/TripleOscillator/FatPMArp.xpf new file mode 100644 index 000000000..ad11a8952 --- /dev/null +++ b/data/presets/TripleOscillator/FatPMArp.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/FatTB303Arp.xpf b/data/presets/TripleOscillator/FatTB303Arp.xpf new file mode 100644 index 000000000..33bb2d8f6 --- /dev/null +++ b/data/presets/TripleOscillator/FatTB303Arp.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Freaky-Bass.xpf b/data/presets/TripleOscillator/Freaky-Bass.xpf deleted file mode 100644 index 9930927f1..000000000 --- a/data/presets/TripleOscillator/Freaky-Bass.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/FutureBass.xpf b/data/presets/TripleOscillator/FutureBass.xpf index ca61efc6e..84f4541e0 100644 --- a/data/presets/TripleOscillator/FutureBass.xpf +++ b/data/presets/TripleOscillator/FutureBass.xpf @@ -1,18 +1,21 @@ - - - + + + - - - + + + + + - - - + + + - - - + + + + - + diff --git a/data/presets/TripleOscillator/FuzzyAnalogBass.xpf b/data/presets/TripleOscillator/FuzzyAnalogBass.xpf new file mode 100644 index 000000000..78b176dfd --- /dev/null +++ b/data/presets/TripleOscillator/FuzzyAnalogBass.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Gong.xpf b/data/presets/TripleOscillator/Gong.xpf deleted file mode 100644 index 813d40ead..000000000 --- a/data/presets/TripleOscillator/Gong.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Harmonium.xpf b/data/presets/TripleOscillator/Harmonium.xpf index 0db49b42d..a90325093 100644 --- a/data/presets/TripleOscillator/Harmonium.xpf +++ b/data/presets/TripleOscillator/Harmonium.xpf @@ -1,21 +1,21 @@ - - - + + + - - + + - + - - - + + + - + - + diff --git a/data/presets/TripleOscillator/Harpsichord.xpf b/data/presets/TripleOscillator/Harpsichord.xpf deleted file mode 100644 index 6e1093ee0..000000000 --- a/data/presets/TripleOscillator/Harpsichord.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Jupiter.xpf b/data/presets/TripleOscillator/Jupiter.xpf index e836c638e..86b59aac5 100644 --- a/data/presets/TripleOscillator/Jupiter.xpf +++ b/data/presets/TripleOscillator/Jupiter.xpf @@ -1,21 +1,21 @@ - - - + + + - - + + - + - - - + + + - - + + - + diff --git a/data/presets/TripleOscillator/Kick.xpf b/data/presets/TripleOscillator/Kick.xpf deleted file mode 100644 index 8dbac12d0..000000000 --- a/data/presets/TripleOscillator/Kick.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Kick2.xpf b/data/presets/TripleOscillator/Kick2.xpf deleted file mode 100644 index 4dcd87b08..000000000 --- a/data/presets/TripleOscillator/Kick2.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/MoveYourBody.xpf b/data/presets/TripleOscillator/MoveYourBody.xpf index 1d2b63d2c..fb67237bd 100644 --- a/data/presets/TripleOscillator/MoveYourBody.xpf +++ b/data/presets/TripleOscillator/MoveYourBody.xpf @@ -1,18 +1,21 @@ - - - + + + - - - - - - - + + + + + + + + + - - - + + + + - + diff --git a/data/presets/TripleOscillator/OldComputerGames.xpf b/data/presets/TripleOscillator/OldComputerGames.xpf index dd01e4992..674bef674 100644 --- a/data/presets/TripleOscillator/OldComputerGames.xpf +++ b/data/presets/TripleOscillator/OldComputerGames.xpf @@ -1,21 +1,21 @@ - + - + - + - + - - - - + + + + - - + + - + @@ -63,16 +63,34 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SBass.xpf b/data/presets/TripleOscillator/PMbass.xpf similarity index 84% rename from data/presets/TripleOscillator/SBass.xpf rename to data/presets/TripleOscillator/PMbass.xpf index e1b4be4e1..2e63d7136 100644 --- a/data/presets/TripleOscillator/SBass.xpf +++ b/data/presets/TripleOscillator/PMbass.xpf @@ -1,16 +1,16 @@ - + - + - + - - - + + + diff --git a/data/presets/TripleOscillator/Play-some-rock.xpf b/data/presets/TripleOscillator/Play-some-rock.xpf index 29cd3de28..2ee19a7b2 100644 --- a/data/presets/TripleOscillator/Play-some-rock.xpf +++ b/data/presets/TripleOscillator/Play-some-rock.xpf @@ -1,18 +1,36 @@ - - - + + + - - - - - - - + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - + diff --git a/data/presets/TripleOscillator/PluckBass.xpf b/data/presets/TripleOscillator/PluckBass.xpf new file mode 100644 index 000000000..51c5de329 --- /dev/null +++ b/data/presets/TripleOscillator/PluckBass.xpf @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Plucked.xpf b/data/presets/TripleOscillator/Plucked.xpf deleted file mode 100644 index 2db750a48..000000000 --- a/data/presets/TripleOscillator/Plucked.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/PowerStrings.xpf b/data/presets/TripleOscillator/PowerStrings.xpf index f62af8e42..0ef375097 100644 --- a/data/presets/TripleOscillator/PowerStrings.xpf +++ b/data/presets/TripleOscillator/PowerStrings.xpf @@ -1,21 +1,21 @@ - + - + - + - - - + + + - + @@ -32,6 +32,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Ravemania.xpf b/data/presets/TripleOscillator/Ravemania.xpf index 4e0f779e4..cab609fc5 100644 --- a/data/presets/TripleOscillator/Ravemania.xpf +++ b/data/presets/TripleOscillator/Ravemania.xpf @@ -1,18 +1,21 @@ - - - + + + - - - - - - - + + + + + + + + + - - - + + + + - + diff --git a/data/presets/TripleOscillator/ResoBass.xpf b/data/presets/TripleOscillator/ResoBass.xpf index e5b82bc75..85a785c6e 100644 --- a/data/presets/TripleOscillator/ResoBass.xpf +++ b/data/presets/TripleOscillator/ResoBass.xpf @@ -1,19 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/ResonantPad.xpf b/data/presets/TripleOscillator/ResonantPad.xpf index 9189dc074..0e375c846 100644 --- a/data/presets/TripleOscillator/ResonantPad.xpf +++ b/data/presets/TripleOscillator/ResonantPad.xpf @@ -1,19 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/RockOrgan.xpf b/data/presets/TripleOscillator/RockOrgan.xpf deleted file mode 100644 index 84e397782..000000000 --- a/data/presets/TripleOscillator/RockOrgan.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Rough!.xpf b/data/presets/TripleOscillator/Rough!.xpf index 462a1fbf3..38e5d364a 100644 --- a/data/presets/TripleOscillator/Rough!.xpf +++ b/data/presets/TripleOscillator/Rough!.xpf @@ -1,19 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - - + + + + - + diff --git a/data/presets/TripleOscillator/SBass2.xpf b/data/presets/TripleOscillator/SBass2.xpf deleted file mode 100644 index 251b8069a..000000000 --- a/data/presets/TripleOscillator/SBass2.xpf +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/SP Presets/BlandModBass.xpf b/data/presets/TripleOscillator/SP Presets/BlandModBass.xpf new file mode 100644 index 000000000..3160bd097 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/BlandModBass.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/BrokenToy.xpf b/data/presets/TripleOscillator/SP Presets/BrokenToy.xpf new file mode 100644 index 000000000..ed0ac370e --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/BrokenToy.xpf @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/CryingPads.xpf b/data/presets/TripleOscillator/SP Presets/CryingPads.xpf new file mode 100644 index 000000000..441dce3c7 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/CryingPads.xpf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf b/data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf new file mode 100644 index 000000000..4f180b6e3 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/DirtyReece.xpf b/data/presets/TripleOscillator/SP Presets/DirtyReece.xpf new file mode 100644 index 000000000..d574c7299 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/DirtyReece.xpf @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf b/data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf new file mode 100644 index 000000000..a68b66bbb --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/Garfunkel.xpf b/data/presets/TripleOscillator/SP Presets/Garfunkel.xpf new file mode 100644 index 000000000..d2f66d1fe --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/Garfunkel.xpf @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/GhostBoy.xpf b/data/presets/TripleOscillator/SP Presets/GhostBoy.xpf new file mode 100644 index 000000000..32f33964c --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/GhostBoy.xpf @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf b/data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf new file mode 100644 index 000000000..ab752fbff --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf b/data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf new file mode 100644 index 000000000..1433f3c47 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf b/data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf new file mode 100644 index 000000000..d81b55601 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf b/data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf new file mode 100644 index 000000000..4afb1d0de --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/README.txt b/data/presets/TripleOscillator/SP Presets/README.txt new file mode 100644 index 000000000..948922918 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/README.txt @@ -0,0 +1,3 @@ +Before jumping to conclusions, this IS NOT a legal file. + +I just wanted to say that a lot of these patches sound better with an LFO slightly automating the pitch knob, usually at 8th note speed. \ No newline at end of file diff --git a/data/presets/TripleOscillator/SP Presets/SquarePing.xpf b/data/presets/TripleOscillator/SP Presets/SquarePing.xpf new file mode 100644 index 000000000..c4a1999dd --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/SquarePing.xpf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf b/data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf new file mode 100644 index 000000000..916bde548 --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SP Presets/TINTNpad.xpf b/data/presets/TripleOscillator/SP Presets/TINTNpad.xpf new file mode 100644 index 000000000..840ee358f --- /dev/null +++ b/data/presets/TripleOscillator/SP Presets/TINTNpad.xpf @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/SawLead.xpf b/data/presets/TripleOscillator/SawLead.xpf deleted file mode 100644 index fb1ca7c2c..000000000 --- a/data/presets/TripleOscillator/SawLead.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/SawReso.xpf b/data/presets/TripleOscillator/SawReso.xpf deleted file mode 100644 index ee419bb38..000000000 --- a/data/presets/TripleOscillator/SawReso.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Short1.xpf b/data/presets/TripleOscillator/Short1.xpf deleted file mode 100644 index 8e4bf3051..000000000 --- a/data/presets/TripleOscillator/Short1.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Short2.xpf b/data/presets/TripleOscillator/Short2.xpf deleted file mode 100644 index e544bf306..000000000 --- a/data/presets/TripleOscillator/Short2.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Short3.xpf b/data/presets/TripleOscillator/Short3.xpf deleted file mode 100644 index 8e6152755..000000000 --- a/data/presets/TripleOscillator/Short3.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Short4.xpf b/data/presets/TripleOscillator/Short4.xpf deleted file mode 100644 index 22ec192ef..000000000 --- a/data/presets/TripleOscillator/Short4.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Snare.xpf b/data/presets/TripleOscillator/Snare.xpf deleted file mode 100644 index 9d5d3e834..000000000 --- a/data/presets/TripleOscillator/Snare.xpf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/SoftBass.xpf b/data/presets/TripleOscillator/SoftBass.xpf deleted file mode 100644 index 7596bd14b..000000000 --- a/data/presets/TripleOscillator/SoftBass.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/SoftStrings.xpf b/data/presets/TripleOscillator/SoftStrings.xpf deleted file mode 100644 index a47c0b68c..000000000 --- a/data/presets/TripleOscillator/SoftStrings.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/SpaceBass.xpf b/data/presets/TripleOscillator/SpaceBass.xpf deleted file mode 100644 index aeb43286d..000000000 --- a/data/presets/TripleOscillator/SpaceBass.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/Supernova.xpf b/data/presets/TripleOscillator/Supernova.xpf index 750415f9a..01837983b 100644 --- a/data/presets/TripleOscillator/Supernova.xpf +++ b/data/presets/TripleOscillator/Supernova.xpf @@ -1,40 +1,58 @@ - - - + + + - - + + - + - - - + + + - - - + + + - - + + + + + + + + + + + - - + + + + + + + + + + + - + @@ -42,20 +60,51 @@ - + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/data/presets/TripleOscillator/TB303-Arpeggio.xpf b/data/presets/TripleOscillator/TB303-Arpeggio.xpf deleted file mode 100644 index 09f1bca8e..000000000 --- a/data/presets/TripleOscillator/TB303-Arpeggio.xpf +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/TheMaster.xpf b/data/presets/TripleOscillator/TheMaster.xpf index 7311af546..c54787a19 100644 --- a/data/presets/TripleOscillator/TheMaster.xpf +++ b/data/presets/TripleOscillator/TheMaster.xpf @@ -1,18 +1,31 @@ - - - + + + - - - + + + + + - - - + + + - - - + + + + + + + + + + + + + + - + diff --git a/data/presets/TripleOscillator/TranceLead.xpf b/data/presets/TripleOscillator/TranceLead.xpf deleted file mode 100644 index c3071c976..000000000 --- a/data/presets/TripleOscillator/TranceLead.xpf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/data/presets/TripleOscillator/WarmStack.xpf b/data/presets/TripleOscillator/WarmStack.xpf index 1a3e9c1a0..fb903295c 100644 --- a/data/presets/TripleOscillator/WarmStack.xpf +++ b/data/presets/TripleOscillator/WarmStack.xpf @@ -1,16 +1,16 @@ - + - + - + - + - - - + + + From e84db70722c84b32ffab8a7f3a9504c42d08c553 Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Tue, 26 Aug 2014 10:42:58 -0500 Subject: [PATCH 02/28] New folder structure --- .../{SP Presets => Collection/Stakeout Punch}/BlandModBass.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/BrokenToy.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/CryingPads.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/DetunedGhost.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/DirtyReece.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/ElectricOboe.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/Garfunkel.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/GhostBoy.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/HugeGrittyBass.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/PM-FMstring.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/PMFMFTWbass.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/PercussiveBass.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/README.txt | 0 .../{SP Presets => Collection/Stakeout Punch}/SquarePing.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/SuperSawLead.xpf | 0 .../{SP Presets => Collection/Stakeout Punch}/TINTNpad.xpf | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/BlandModBass.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/BrokenToy.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/CryingPads.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/DetunedGhost.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/DirtyReece.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/ElectricOboe.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/Garfunkel.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/GhostBoy.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/HugeGrittyBass.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/PM-FMstring.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/PMFMFTWbass.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/PercussiveBass.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/README.txt (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/SquarePing.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/SuperSawLead.xpf (100%) rename data/presets/TripleOscillator/{SP Presets => Collection/Stakeout Punch}/TINTNpad.xpf (100%) diff --git a/data/presets/TripleOscillator/SP Presets/BlandModBass.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/BlandModBass.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/BlandModBass.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/BlandModBass.xpf diff --git a/data/presets/TripleOscillator/SP Presets/BrokenToy.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/BrokenToy.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/BrokenToy.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/BrokenToy.xpf diff --git a/data/presets/TripleOscillator/SP Presets/CryingPads.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/CryingPads.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/CryingPads.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/CryingPads.xpf diff --git a/data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/DetunedGhost.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/DetunedGhost.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/DetunedGhost.xpf diff --git a/data/presets/TripleOscillator/SP Presets/DirtyReece.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/DirtyReece.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/DirtyReece.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/DirtyReece.xpf diff --git a/data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/ElectricOboe.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/ElectricOboe.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/ElectricOboe.xpf diff --git a/data/presets/TripleOscillator/SP Presets/Garfunkel.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/Garfunkel.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/Garfunkel.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/Garfunkel.xpf diff --git a/data/presets/TripleOscillator/SP Presets/GhostBoy.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/GhostBoy.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/GhostBoy.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/GhostBoy.xpf diff --git a/data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/HugeGrittyBass.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/HugeGrittyBass.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/HugeGrittyBass.xpf diff --git a/data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/PM-FMstring.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/PM-FMstring.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/PM-FMstring.xpf diff --git a/data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/PMFMFTWbass.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/PMFMFTWbass.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/PMFMFTWbass.xpf diff --git a/data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/PercussiveBass.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/PercussiveBass.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/PercussiveBass.xpf diff --git a/data/presets/TripleOscillator/SP Presets/README.txt b/data/presets/TripleOscillator/Collection/Stakeout Punch/README.txt similarity index 100% rename from data/presets/TripleOscillator/SP Presets/README.txt rename to data/presets/TripleOscillator/Collection/Stakeout Punch/README.txt diff --git a/data/presets/TripleOscillator/SP Presets/SquarePing.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/SquarePing.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/SquarePing.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/SquarePing.xpf diff --git a/data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/SuperSawLead.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/SuperSawLead.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/SuperSawLead.xpf diff --git a/data/presets/TripleOscillator/SP Presets/TINTNpad.xpf b/data/presets/TripleOscillator/Collection/Stakeout Punch/TINTNpad.xpf similarity index 100% rename from data/presets/TripleOscillator/SP Presets/TINTNpad.xpf rename to data/presets/TripleOscillator/Collection/Stakeout Punch/TINTNpad.xpf From 0200cb79b666b903b5b84dbea21e2e88a0073e35 Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Tue, 26 Aug 2014 10:46:24 -0500 Subject: [PATCH 03/28] Newer folder structure --- .../{Collection/Stakeout Punch => }/BlandModBass.xpf | 0 .../{Collection/Stakeout Punch => }/BrokenToy.xpf | 0 .../{Collection/Stakeout Punch => }/CryingPads.xpf | 0 .../{Collection/Stakeout Punch => }/DetunedGhost.xpf | 0 .../{Collection/Stakeout Punch => }/DirtyReece.xpf | 0 .../{Collection/Stakeout Punch => }/ElectricOboe.xpf | 0 .../{Collection/Stakeout Punch => }/Garfunkel.xpf | 0 .../TripleOscillator/{Collection/Stakeout Punch => }/GhostBoy.xpf | 0 .../{Collection/Stakeout Punch => }/HugeGrittyBass.xpf | 0 .../{Collection/Stakeout Punch => }/PM-FMstring.xpf | 0 .../{Collection/Stakeout Punch => }/PMFMFTWbass.xpf | 0 .../{Collection/Stakeout Punch => }/PercussiveBass.xpf | 0 .../TripleOscillator/{Collection/Stakeout Punch => }/README.txt | 0 .../{Collection/Stakeout Punch => }/SquarePing.xpf | 0 .../{Collection/Stakeout Punch => }/SuperSawLead.xpf | 0 .../TripleOscillator/{Collection/Stakeout Punch => }/TINTNpad.xpf | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/BlandModBass.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/BrokenToy.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/CryingPads.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/DetunedGhost.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/DirtyReece.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/ElectricOboe.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/Garfunkel.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/GhostBoy.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/HugeGrittyBass.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/PM-FMstring.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/PMFMFTWbass.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/PercussiveBass.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/README.txt (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/SquarePing.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/SuperSawLead.xpf (100%) rename data/presets/TripleOscillator/{Collection/Stakeout Punch => }/TINTNpad.xpf (100%) diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/BlandModBass.xpf b/data/presets/TripleOscillator/BlandModBass.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/BlandModBass.xpf rename to data/presets/TripleOscillator/BlandModBass.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/BrokenToy.xpf b/data/presets/TripleOscillator/BrokenToy.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/BrokenToy.xpf rename to data/presets/TripleOscillator/BrokenToy.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/CryingPads.xpf b/data/presets/TripleOscillator/CryingPads.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/CryingPads.xpf rename to data/presets/TripleOscillator/CryingPads.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/DetunedGhost.xpf b/data/presets/TripleOscillator/DetunedGhost.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/DetunedGhost.xpf rename to data/presets/TripleOscillator/DetunedGhost.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/DirtyReece.xpf b/data/presets/TripleOscillator/DirtyReece.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/DirtyReece.xpf rename to data/presets/TripleOscillator/DirtyReece.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/ElectricOboe.xpf b/data/presets/TripleOscillator/ElectricOboe.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/ElectricOboe.xpf rename to data/presets/TripleOscillator/ElectricOboe.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/Garfunkel.xpf b/data/presets/TripleOscillator/Garfunkel.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/Garfunkel.xpf rename to data/presets/TripleOscillator/Garfunkel.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/GhostBoy.xpf b/data/presets/TripleOscillator/GhostBoy.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/GhostBoy.xpf rename to data/presets/TripleOscillator/GhostBoy.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/HugeGrittyBass.xpf b/data/presets/TripleOscillator/HugeGrittyBass.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/HugeGrittyBass.xpf rename to data/presets/TripleOscillator/HugeGrittyBass.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/PM-FMstring.xpf b/data/presets/TripleOscillator/PM-FMstring.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/PM-FMstring.xpf rename to data/presets/TripleOscillator/PM-FMstring.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/PMFMFTWbass.xpf b/data/presets/TripleOscillator/PMFMFTWbass.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/PMFMFTWbass.xpf rename to data/presets/TripleOscillator/PMFMFTWbass.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/PercussiveBass.xpf b/data/presets/TripleOscillator/PercussiveBass.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/PercussiveBass.xpf rename to data/presets/TripleOscillator/PercussiveBass.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/README.txt b/data/presets/TripleOscillator/README.txt similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/README.txt rename to data/presets/TripleOscillator/README.txt diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/SquarePing.xpf b/data/presets/TripleOscillator/SquarePing.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/SquarePing.xpf rename to data/presets/TripleOscillator/SquarePing.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/SuperSawLead.xpf b/data/presets/TripleOscillator/SuperSawLead.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/SuperSawLead.xpf rename to data/presets/TripleOscillator/SuperSawLead.xpf diff --git a/data/presets/TripleOscillator/Collection/Stakeout Punch/TINTNpad.xpf b/data/presets/TripleOscillator/TINTNpad.xpf similarity index 100% rename from data/presets/TripleOscillator/Collection/Stakeout Punch/TINTNpad.xpf rename to data/presets/TripleOscillator/TINTNpad.xpf From 44889771324510dbc785c10ca54113ce04a1b020 Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Tue, 26 Aug 2014 17:02:46 -0500 Subject: [PATCH 04/28] Add back SpaceBass --- data/presets/TripleOscillator/SpaceBass.xpf | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 data/presets/TripleOscillator/SpaceBass.xpf diff --git a/data/presets/TripleOscillator/SpaceBass.xpf b/data/presets/TripleOscillator/SpaceBass.xpf new file mode 100644 index 000000000..aeb43286d --- /dev/null +++ b/data/presets/TripleOscillator/SpaceBass.xpf @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + From b1e556f2636c36d4977f87a64adef74781c29539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stian=20J=C3=B8rgensrud?= Date: Sat, 30 Aug 2014 00:52:13 +0200 Subject: [PATCH 05/28] Revert ""What is this" additions by @musikBear #896" --- src/gui/PianoRoll.cpp | 67 ++----------------------------------------- 1 file changed, 2 insertions(+), 65 deletions(-) diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index bb2b3d9cf..66a6f6971 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -468,6 +468,8 @@ PianoRoll::PianoRoll() : tr( "Click here and the notes from the clipboard will be " "pasted at the first visible measure." ) ); + + QLabel * zoom_lbl = new QLabel( m_toolBar ); zoom_lbl->setPixmap( embed::getIconPixmap( "zoom" ) ); @@ -618,71 +620,6 @@ PianoRoll::PianoRoll() : tb_layout->addSpacing( 4 ); tb_layout->addWidget( m_chordComboBox ); tb_layout->addStretch(); - - m_zoomingComboBox->setWhatsThis( tr( - "This controls the magnification over time. " - "It can be useful choose a magnification for a specific task. " - "For ordinary editing, the magnification should be fitted to your " - "smallest used notes. " - "Most will use the default magnification of 100%, " - "when the shortest notes are 1/16. " - "If you have used shorter notes, your editing will be easier, " - "with a magnification of 200%, or more. " - "You should use low magnification, if you need to move a block " - "of notes many bars, or just to get an overview of the score." - ) ); - - m_quantizeComboBox->setWhatsThis( tr( - "This 'Q' stands for quantification, and controls the minimum spacing " - "between notes. " - "In piano-roll this is very important, when you make syncopated patterns, " - "and an absolute must, for swing-notes! " - "Observe that the score segmentation also changes, depending on the selected Q. " - "You should not use a Q-value that does not fit your chosen time-signature! " - "The default value is 1/16, and that fits the default 4/4 timing. " - "A Q of 1/16 will also work well in most editing." - ) ); - - m_noteLenComboBox->setWhatsThis( tr( - "This lets you select the note you place in the score. " - "In most circumstances the best choice is 'Last Note'." - "The choice 'Last Note' means that LMMS will use the note you last clicked, " - "when you place the next note. " - "But you can choose any note-length from this drop-down, " - "and your choice will be the note, that you can draw in the score." - ) ); - - m_scaleComboBox->setWhatsThis( tr( - "This lets you select a music scale that LMMS then will annotate. " - "The feature is directly connected to the context-menu " - "on the virtual keyboard, to the left. " - "First you chose which scale you will use. " - "You do that in this very dropdown! " - "Then you choose the key of your composition. " - "Right mouse click on the selected key in the virtual keyboard, " - "and then choose 'Mark current Scale' " - "LMMS will annotate all notes that belongs to the chosen scale, " - "and in the key you have selected! " - "LMMS will not only annotate in the score you have open, " - "but all scores in your project, will be correctly annotated. " - "This will help you avoid using bum-notes, as you compose. " - "You should know about principle scales in music. " - "Search the net, if you do not! " - ) ); - - m_chordComboBox->setWhatsThis( tr( - "This lets you select a standard music chord. " - "All notes that are played simultaneous, are 'chords'," - "but a large number of simultaneous key combinations, has own names, " - "and its own place in music. " - "They are standard chords, and it is these chords, " - "you can find in this drop-down. " - "After you have selected a chord, any click in the score, " - "will place that chord, musically correctly, " - "and with the Left mouse clicked note, as the root-note in the chord! " - "To return to single note placement, you need to choose 'No chord' " - "in this drop-down!" - ) ); // setup our actual window setFocusPolicy( Qt::StrongFocus ); From d28195f9bc6dca634332013b5d4ca89a4cb9abb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stian=20J=C3=B8rgensrud?= Date: Sat, 30 Aug 2014 01:11:15 +0200 Subject: [PATCH 06/28] Just updated based on mrBears wonderful work --- src/gui/PianoRoll.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index 66a6f6971..cfed54e6e 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -620,7 +620,57 @@ PianoRoll::PianoRoll() : tb_layout->addSpacing( 4 ); tb_layout->addWidget( m_chordComboBox ); tb_layout->addStretch(); + + m_zoomingComboBox->setWhatsThis( + tr( + "This controls the magnification of an axis." + " It can be helpful to choose magnification for a specific" + " task. For ordinary editing, the magnification should be" + " fitted to your smallest notes.” + ) ); + + m_quantizeComboBox->setWhatsThis( + tr( + "The 'Q' stands for quantization, and controls the grid size” + " notes and control points snap to." +“ With smaller quantization values, you can draw shorter notes” +“ in Piano Roll, and more exact control points in the” +“ Automation Editor.” + ) ); + + m_noteLenComboBox->setWhatsThis( + tr( + "This lets you select the length of new notes." + " 'Last Note' means that LMMS will use the note length of" + " the note you last edited" + ) ); + + m_scaleComboBox->setWhatsThis( + tr( + "Click this button and you will become a DJ" + "The feature is directly connected to the context-menu" + " on the virtual keyboard, to the left in Piano Roll." + "After you have chosen the scale you want" + “ in this very drop-down menu," + " you can right click on a desired key in the virtual keyboard," + " and then choose 'Mark current Scale'." + " LMMS will highlight all notes that belongs to the chosen scale," + " and in the key you have selected!" + ) ); + + + m_chordComboBox->setWhatsThis( + tr( + "Let you select a chord which LMMS then can draw or highlight." + " You can find the most common chords in this drop-down menu." + " After you have selected a chord, click anywhere to place the chord, and right" +“ click on the virtual keyboard to open context menu and highlight the chord.” + " To return to single note placement, you need to choose 'No chord'" + " in this drop-down menu." + ) ); + + // setup our actual window setFocusPolicy( Qt::StrongFocus ); setFocus(); From 3c809c8d649c5ea14fac8ede196ec402e9bfecd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stian=20J=C3=B8rgensrud?= Date: Sat, 30 Aug 2014 01:36:47 +0200 Subject: [PATCH 07/28] Revert "Revert ""What is this" additions by @musikBear #896"" --- src/gui/PianoRoll.cpp | 115 +++++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 51 deletions(-) diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index cfed54e6e..bb2b3d9cf 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -468,8 +468,6 @@ PianoRoll::PianoRoll() : tr( "Click here and the notes from the clipboard will be " "pasted at the first visible measure." ) ); - - QLabel * zoom_lbl = new QLabel( m_toolBar ); zoom_lbl->setPixmap( embed::getIconPixmap( "zoom" ) ); @@ -621,56 +619,71 @@ PianoRoll::PianoRoll() : tb_layout->addWidget( m_chordComboBox ); tb_layout->addStretch(); - m_zoomingComboBox->setWhatsThis( - tr( - "This controls the magnification of an axis." - " It can be helpful to choose magnification for a specific" - " task. For ordinary editing, the magnification should be" - " fitted to your smallest notes.” - ) ); - - m_quantizeComboBox->setWhatsThis( - tr( - "The 'Q' stands for quantization, and controls the grid size” - " notes and control points snap to." -“ With smaller quantization values, you can draw shorter notes” -“ in Piano Roll, and more exact control points in the” -“ Automation Editor.” - - ) ); - - m_noteLenComboBox->setWhatsThis( - tr( - "This lets you select the length of new notes." - " 'Last Note' means that LMMS will use the note length of" - " the note you last edited" - ) ); - - m_scaleComboBox->setWhatsThis( - tr( - "Click this button and you will become a DJ" - "The feature is directly connected to the context-menu" - " on the virtual keyboard, to the left in Piano Roll." - "After you have chosen the scale you want" - “ in this very drop-down menu," - " you can right click on a desired key in the virtual keyboard," - " and then choose 'Mark current Scale'." - " LMMS will highlight all notes that belongs to the chosen scale," - " and in the key you have selected!" - ) ); - - - m_chordComboBox->setWhatsThis( - tr( - "Let you select a chord which LMMS then can draw or highlight." - " You can find the most common chords in this drop-down menu." - " After you have selected a chord, click anywhere to place the chord, and right" -“ click on the virtual keyboard to open context menu and highlight the chord.” - " To return to single note placement, you need to choose 'No chord'" - " in this drop-down menu." - ) ); - + m_zoomingComboBox->setWhatsThis( tr( + "This controls the magnification over time. " + "It can be useful choose a magnification for a specific task. " + "For ordinary editing, the magnification should be fitted to your " + "smallest used notes. " + "Most will use the default magnification of 100%, " + "when the shortest notes are 1/16. " + "If you have used shorter notes, your editing will be easier, " + "with a magnification of 200%, or more. " + "You should use low magnification, if you need to move a block " + "of notes many bars, or just to get an overview of the score." + ) ); + m_quantizeComboBox->setWhatsThis( tr( + "This 'Q' stands for quantification, and controls the minimum spacing " + "between notes. " + "In piano-roll this is very important, when you make syncopated patterns, " + "and an absolute must, for swing-notes! " + "Observe that the score segmentation also changes, depending on the selected Q. " + "You should not use a Q-value that does not fit your chosen time-signature! " + "The default value is 1/16, and that fits the default 4/4 timing. " + "A Q of 1/16 will also work well in most editing." + ) ); + + m_noteLenComboBox->setWhatsThis( tr( + "This lets you select the note you place in the score. " + "In most circumstances the best choice is 'Last Note'." + "The choice 'Last Note' means that LMMS will use the note you last clicked, " + "when you place the next note. " + "But you can choose any note-length from this drop-down, " + "and your choice will be the note, that you can draw in the score." + ) ); + + m_scaleComboBox->setWhatsThis( tr( + "This lets you select a music scale that LMMS then will annotate. " + "The feature is directly connected to the context-menu " + "on the virtual keyboard, to the left. " + "First you chose which scale you will use. " + "You do that in this very dropdown! " + "Then you choose the key of your composition. " + "Right mouse click on the selected key in the virtual keyboard, " + "and then choose 'Mark current Scale' " + "LMMS will annotate all notes that belongs to the chosen scale, " + "and in the key you have selected! " + "LMMS will not only annotate in the score you have open, " + "but all scores in your project, will be correctly annotated. " + "This will help you avoid using bum-notes, as you compose. " + "You should know about principle scales in music. " + "Search the net, if you do not! " + ) ); + + m_chordComboBox->setWhatsThis( tr( + "This lets you select a standard music chord. " + "All notes that are played simultaneous, are 'chords'," + "but a large number of simultaneous key combinations, has own names, " + "and its own place in music. " + "They are standard chords, and it is these chords, " + "you can find in this drop-down. " + "After you have selected a chord, any click in the score, " + "will place that chord, musically correctly, " + "and with the Left mouse clicked note, as the root-note in the chord! " + "To return to single note placement, you need to choose 'No chord' " + "in this drop-down!" + ) ); + // setup our actual window setFocusPolicy( Qt::StrongFocus ); setFocus(); From b526e5676a24ae9203aaea7ad15f114d26c98782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stian=20J=C3=B8rgensrud?= Date: Sat, 30 Aug 2014 01:39:36 +0200 Subject: [PATCH 08/28] Trying again, and again Latest revision. --- src/gui/PianoRoll.cpp | 111 ++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 64 deletions(-) diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index bb2b3d9cf..af353d393 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -619,70 +619,53 @@ PianoRoll::PianoRoll() : tb_layout->addWidget( m_chordComboBox ); tb_layout->addStretch(); - m_zoomingComboBox->setWhatsThis( tr( - "This controls the magnification over time. " - "It can be useful choose a magnification for a specific task. " - "For ordinary editing, the magnification should be fitted to your " - "smallest used notes. " - "Most will use the default magnification of 100%, " - "when the shortest notes are 1/16. " - "If you have used shorter notes, your editing will be easier, " - "with a magnification of 200%, or more. " - "You should use low magnification, if you need to move a block " - "of notes many bars, or just to get an overview of the score." - ) ); - - m_quantizeComboBox->setWhatsThis( tr( - "This 'Q' stands for quantification, and controls the minimum spacing " - "between notes. " - "In piano-roll this is very important, when you make syncopated patterns, " - "and an absolute must, for swing-notes! " - "Observe that the score segmentation also changes, depending on the selected Q. " - "You should not use a Q-value that does not fit your chosen time-signature! " - "The default value is 1/16, and that fits the default 4/4 timing. " - "A Q of 1/16 will also work well in most editing." - ) ); - - m_noteLenComboBox->setWhatsThis( tr( - "This lets you select the note you place in the score. " - "In most circumstances the best choice is 'Last Note'." - "The choice 'Last Note' means that LMMS will use the note you last clicked, " - "when you place the next note. " - "But you can choose any note-length from this drop-down, " - "and your choice will be the note, that you can draw in the score." - ) ); - - m_scaleComboBox->setWhatsThis( tr( - "This lets you select a music scale that LMMS then will annotate. " - "The feature is directly connected to the context-menu " - "on the virtual keyboard, to the left. " - "First you chose which scale you will use. " - "You do that in this very dropdown! " - "Then you choose the key of your composition. " - "Right mouse click on the selected key in the virtual keyboard, " - "and then choose 'Mark current Scale' " - "LMMS will annotate all notes that belongs to the chosen scale, " - "and in the key you have selected! " - "LMMS will not only annotate in the score you have open, " - "but all scores in your project, will be correctly annotated. " - "This will help you avoid using bum-notes, as you compose. " - "You should know about principle scales in music. " - "Search the net, if you do not! " - ) ); - - m_chordComboBox->setWhatsThis( tr( - "This lets you select a standard music chord. " - "All notes that are played simultaneous, are 'chords'," - "but a large number of simultaneous key combinations, has own names, " - "and its own place in music. " - "They are standard chords, and it is these chords, " - "you can find in this drop-down. " - "After you have selected a chord, any click in the score, " - "will place that chord, musically correctly, " - "and with the Left mouse clicked note, as the root-note in the chord! " - "To return to single note placement, you need to choose 'No chord' " - "in this drop-down!" - ) ); + m_zoomingComboBox->setWhatsThis( + tr( + "This controls the magnification of an axis. " + "It can be helpful to choose magnification for a specific " + "task. For ordinary editing, the magnification should be " + "fitted to your smallest notes. ” + ) ); + + m_quantizeComboBox->setWhatsThis( + tr( + "The 'Q' stands for quantization, and controls the grid size ” + "notes and control points snap to. " + “With smaller quantization values, you can draw shorter notes ” + “in Piano Roll, and more exact control points in the ” + “Automation Editor.” + + ) ); + + m_noteLenComboBox->setWhatsThis( + tr( + "This lets you select the length of new notes. " + "'Last Note' means that LMMS will use the note length of " + "the note you last edited" + ) ); + + m_scaleComboBox->setWhatsThis( + tr( + "The feature is directly connected to the context-menu " + "on the virtual keyboard, to the left in Piano Roll. " + "After you have chosen the scale you want " + “in this drop-down menu, " + "you can right click on a desired key in the virtual keyboard, " + "and then choose 'Mark current Scale'. " + "LMMS will highlight all notes that belongs to the chosen scale, " + "and in the key you have selected!" + ) ); + + + m_chordComboBox->setWhatsThis( + tr( + "Let you select a chord which LMMS then can draw or highlight." + "You can find the most common chords in this drop-down menu. " + "After you have selected a chord, click anywhere to place the chord, and right " + “click on the virtual keyboard to open context menu and highlight the chord. ” + "To return to single note placement, you need to choose 'No chord' " + "in this drop-down menu." + ) ); // setup our actual window setFocusPolicy( Qt::StrongFocus ); From 83ed94f5091136f9c862006ac28863ddb791f3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stian=20J=C3=B8rgensrud?= Date: Sat, 30 Aug 2014 02:02:09 +0200 Subject: [PATCH 09/28] LAST --- src/gui/PianoRoll.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index af353d393..3fb1c64e6 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -624,16 +624,16 @@ PianoRoll::PianoRoll() : "This controls the magnification of an axis. " "It can be helpful to choose magnification for a specific " "task. For ordinary editing, the magnification should be " - "fitted to your smallest notes. ” + "fitted to your smallest notes. " ) ); m_quantizeComboBox->setWhatsThis( tr( - "The 'Q' stands for quantization, and controls the grid size ” + "The 'Q' stands for quantization, and controls the grid size " "notes and control points snap to. " - “With smaller quantization values, you can draw shorter notes ” - “in Piano Roll, and more exact control points in the ” - “Automation Editor.” + "With smaller quantization values, you can draw shorter notes " + "in Piano Roll, and more exact control points in the " + "Automation Editor." ) ); @@ -649,11 +649,11 @@ PianoRoll::PianoRoll() : "The feature is directly connected to the context-menu " "on the virtual keyboard, to the left in Piano Roll. " "After you have chosen the scale you want " - “in this drop-down menu, " + "in this drop-down menu, " "you can right click on a desired key in the virtual keyboard, " "and then choose 'Mark current Scale'. " - "LMMS will highlight all notes that belongs to the chosen scale, " - "and in the key you have selected!" + "LMMS will highlight all notes that belongs to the chosen scale, " + "and in the key you have selected!" ) ); @@ -662,9 +662,9 @@ PianoRoll::PianoRoll() : "Let you select a chord which LMMS then can draw or highlight." "You can find the most common chords in this drop-down menu. " "After you have selected a chord, click anywhere to place the chord, and right " - “click on the virtual keyboard to open context menu and highlight the chord. ” + "click on the virtual keyboard to open context menu and highlight the chord. " "To return to single note placement, you need to choose 'No chord' " - "in this drop-down menu." + "in this drop-down menu." ) ); // setup our actual window From 7ca9dfb0651d3491cb5afbcbdc883862d60298fa Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Sat, 30 Aug 2014 23:09:50 -0500 Subject: [PATCH 10/28] Added percussion presets (5 total) Added Drums_HardKick, Drums_Kick (Vesa's tutorial kick) Drums_HihatO, Drums_HihatC, Drums_Snare --- .../TripleOscillator/Drums_HardKick.xpf | 108 ++++++++++++++++++ .../presets/TripleOscillator/Drums_HihatC.xpf | 21 ++++ .../presets/TripleOscillator/Drums_HihatO.xpf | 21 ++++ data/presets/TripleOscillator/Drums_Kick.xpf | 21 ++++ data/presets/TripleOscillator/Drums_Snare.xpf | 21 ++++ 5 files changed, 192 insertions(+) create mode 100644 data/presets/TripleOscillator/Drums_HardKick.xpf create mode 100644 data/presets/TripleOscillator/Drums_HihatC.xpf create mode 100644 data/presets/TripleOscillator/Drums_HihatO.xpf create mode 100644 data/presets/TripleOscillator/Drums_Kick.xpf create mode 100644 data/presets/TripleOscillator/Drums_Snare.xpf diff --git a/data/presets/TripleOscillator/Drums_HardKick.xpf b/data/presets/TripleOscillator/Drums_HardKick.xpf new file mode 100644 index 000000000..64bd31949 --- /dev/null +++ b/data/presets/TripleOscillator/Drums_HardKick.xpf @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Drums_HihatC.xpf b/data/presets/TripleOscillator/Drums_HihatC.xpf new file mode 100644 index 000000000..3b4dd5735 --- /dev/null +++ b/data/presets/TripleOscillator/Drums_HihatC.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Drums_HihatO.xpf b/data/presets/TripleOscillator/Drums_HihatO.xpf new file mode 100644 index 000000000..19258c57a --- /dev/null +++ b/data/presets/TripleOscillator/Drums_HihatO.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Drums_Kick.xpf b/data/presets/TripleOscillator/Drums_Kick.xpf new file mode 100644 index 000000000..d18e0ed17 --- /dev/null +++ b/data/presets/TripleOscillator/Drums_Kick.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Drums_Snare.xpf b/data/presets/TripleOscillator/Drums_Snare.xpf new file mode 100644 index 000000000..50731bf56 --- /dev/null +++ b/data/presets/TripleOscillator/Drums_Snare.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + From f05bff157d2e3329bd5b22f9b5ea0798b4f6b5ca Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Sat, 30 Aug 2014 23:28:17 -0500 Subject: [PATCH 11/28] Added back stuff AmazingBubbles (NC), Freaky-Bass (NC), SawReso (Tweaked), TranceLead (NC). Removed stupid readme file I added earlier and forgot to delete. --- .../TripleOscillator/AmazingBubbles.xpf | 21 +++++++++++++++++++ data/presets/TripleOscillator/Freaky-Bass.xpf | 18 ++++++++++++++++ data/presets/TripleOscillator/README.txt | 3 --- data/presets/TripleOscillator/SawReso.xpf | 21 +++++++++++++++++++ data/presets/TripleOscillator/TranceLead.xpf | 18 ++++++++++++++++ 5 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 data/presets/TripleOscillator/AmazingBubbles.xpf create mode 100644 data/presets/TripleOscillator/Freaky-Bass.xpf delete mode 100644 data/presets/TripleOscillator/README.txt create mode 100644 data/presets/TripleOscillator/SawReso.xpf create mode 100644 data/presets/TripleOscillator/TranceLead.xpf diff --git a/data/presets/TripleOscillator/AmazingBubbles.xpf b/data/presets/TripleOscillator/AmazingBubbles.xpf new file mode 100644 index 000000000..d06bd61ca --- /dev/null +++ b/data/presets/TripleOscillator/AmazingBubbles.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/Freaky-Bass.xpf b/data/presets/TripleOscillator/Freaky-Bass.xpf new file mode 100644 index 000000000..9368fcad5 --- /dev/null +++ b/data/presets/TripleOscillator/Freaky-Bass.xpf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/README.txt b/data/presets/TripleOscillator/README.txt deleted file mode 100644 index 948922918..000000000 --- a/data/presets/TripleOscillator/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Before jumping to conclusions, this IS NOT a legal file. - -I just wanted to say that a lot of these patches sound better with an LFO slightly automating the pitch knob, usually at 8th note speed. \ No newline at end of file diff --git a/data/presets/TripleOscillator/SawReso.xpf b/data/presets/TripleOscillator/SawReso.xpf new file mode 100644 index 000000000..2c631d663 --- /dev/null +++ b/data/presets/TripleOscillator/SawReso.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/TripleOscillator/TranceLead.xpf b/data/presets/TripleOscillator/TranceLead.xpf new file mode 100644 index 000000000..cd1d3526a --- /dev/null +++ b/data/presets/TripleOscillator/TranceLead.xpf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + From 807d3af68c480c99fa635f00e806d2f6365bdee0 Mon Sep 17 00:00:00 2001 From: tresf Date: Mon, 1 Sep 2014 00:35:48 -0400 Subject: [PATCH 12/28] Win64 fix for missing _isnanf --- include/lmms_math.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/lmms_math.h b/include/lmms_math.h index 0ec8ccc49..2a32f0b21 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -40,6 +40,12 @@ #ifndef isinff #define isinff(x) isinf(x) #endif +#ifndef _isnanf +#define _isnanf(x) isnan(x) +#endif +#ifndef _isinff +#define _isinff(x) isinf(x) +#endif #endif #ifdef __INTEL_COMPILER From f24b82ae62f04ff32dfdeff1f85ec701c3c145a0 Mon Sep 17 00:00:00 2001 From: StakeoutPunch Date: Mon, 1 Sep 2014 00:43:37 -0500 Subject: [PATCH 13/28] More Presets LB302: -AcidLead -AngryLead -DroneArp Organic: -Pwnage -Rubberband SID: -Bass -CheesyGuitar -Lead -MadMind -Overdrive -Pad No presets of any kind were removed or otherwise changed. --- data/presets/LB302/AcidLead.xpf | 40 ++++++++ data/presets/LB302/AngryLead.xpf | 34 +++++++ data/presets/LB302/DroneArp.xpf | 21 ++++ data/presets/Organic/Pwnage.xpf | 146 ++++++++++++++++++++++++++++ data/presets/Organic/Rubberband.xpf | 21 ++++ data/presets/SID/Bass.xpf | 21 ++++ data/presets/SID/CheesyGuitar.xpf | 45 +++++++++ data/presets/SID/Lead.xpf | 21 ++++ data/presets/SID/MadMind.xpf | 57 +++++++++++ data/presets/SID/Overdrive.xpf | 57 +++++++++++ data/presets/SID/Pad.xpf | 21 ++++ 11 files changed, 484 insertions(+) create mode 100644 data/presets/LB302/AcidLead.xpf create mode 100644 data/presets/LB302/AngryLead.xpf create mode 100644 data/presets/LB302/DroneArp.xpf create mode 100644 data/presets/Organic/Pwnage.xpf create mode 100644 data/presets/Organic/Rubberband.xpf create mode 100644 data/presets/SID/Bass.xpf create mode 100644 data/presets/SID/CheesyGuitar.xpf create mode 100644 data/presets/SID/Lead.xpf create mode 100644 data/presets/SID/MadMind.xpf create mode 100644 data/presets/SID/Overdrive.xpf create mode 100644 data/presets/SID/Pad.xpf diff --git a/data/presets/LB302/AcidLead.xpf b/data/presets/LB302/AcidLead.xpf new file mode 100644 index 000000000..e264f9573 --- /dev/null +++ b/data/presets/LB302/AcidLead.xpf @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/LB302/AngryLead.xpf b/data/presets/LB302/AngryLead.xpf new file mode 100644 index 000000000..9d9955895 --- /dev/null +++ b/data/presets/LB302/AngryLead.xpf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/LB302/DroneArp.xpf b/data/presets/LB302/DroneArp.xpf new file mode 100644 index 000000000..93b65595b --- /dev/null +++ b/data/presets/LB302/DroneArp.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/Organic/Pwnage.xpf b/data/presets/Organic/Pwnage.xpf new file mode 100644 index 000000000..51401f5d6 --- /dev/null +++ b/data/presets/Organic/Pwnage.xpf @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/Organic/Rubberband.xpf b/data/presets/Organic/Rubberband.xpf new file mode 100644 index 000000000..1dd0a1941 --- /dev/null +++ b/data/presets/Organic/Rubberband.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/Bass.xpf b/data/presets/SID/Bass.xpf new file mode 100644 index 000000000..c5f605c8f --- /dev/null +++ b/data/presets/SID/Bass.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/CheesyGuitar.xpf b/data/presets/SID/CheesyGuitar.xpf new file mode 100644 index 000000000..756e14afc --- /dev/null +++ b/data/presets/SID/CheesyGuitar.xpf @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/Lead.xpf b/data/presets/SID/Lead.xpf new file mode 100644 index 000000000..be81b2948 --- /dev/null +++ b/data/presets/SID/Lead.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/MadMind.xpf b/data/presets/SID/MadMind.xpf new file mode 100644 index 000000000..5375d5b00 --- /dev/null +++ b/data/presets/SID/MadMind.xpf @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/Overdrive.xpf b/data/presets/SID/Overdrive.xpf new file mode 100644 index 000000000..ef4b51a90 --- /dev/null +++ b/data/presets/SID/Overdrive.xpf @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/presets/SID/Pad.xpf b/data/presets/SID/Pad.xpf new file mode 100644 index 000000000..2a03b3f43 --- /dev/null +++ b/data/presets/SID/Pad.xpf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + From dcdc8d9e3e4b7f0133c9bf4f120d1f7e329ce912 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 13:37:30 +0200 Subject: [PATCH 14/28] Added first Monstro preset --- data/presets/Monstro/Phat.xpf | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 data/presets/Monstro/Phat.xpf diff --git a/data/presets/Monstro/Phat.xpf b/data/presets/Monstro/Phat.xpf new file mode 100644 index 000000000..5615f0229 --- /dev/null +++ b/data/presets/Monstro/Phat.xpf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1c289b0726dcdc35bf9b09cce51d0dfe64272bb5 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:00:32 +0200 Subject: [PATCH 15/28] Plugin: use QFileInfo::baseName() --- src/core/Plugin.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 8a81e2c99..5bce7df9e 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -156,8 +156,7 @@ void Plugin::getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ) { continue; } - QString desc_name = f.fileName().section( '.', 0, 0 ) + - "_plugin_descriptor"; + QString desc_name = f.baseName() + "_plugin_descriptor"; if( desc_name.left( 3 ) == "lib" ) { desc_name = desc_name.mid( 3 ); From 89a363741a2ecb59a3a6b57cc1b5ac63c56257a3 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:02:20 +0200 Subject: [PATCH 16/28] Plugin: use qWarning() instead of printf() --- src/core/Plugin.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 5bce7df9e..2d4e679fa 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -24,6 +24,7 @@ * */ +#include #include #include #include @@ -166,10 +167,8 @@ void Plugin::getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ) desc_name.toUtf8().constData() ); if( plugin_desc == NULL ) { - printf( "LMMS plugin %s does not have a " - "plugin descriptor named %s!\n", - f.absoluteFilePath().toUtf8().constData(), - desc_name.toUtf8().constData() ); + qWarning() << tr( "LMMS plugin %1 does not have a plugin descriptor named %2!" ). + arg( f.absoluteFilePath() ).arg( desc_name ); continue; } _plugin_descs.push_back( *plugin_desc ); From feba89354b4b2d9437879ea45564da380c9691e6 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:16:48 +0200 Subject: [PATCH 17/28] Plugin: cleanup & coding style fixes --- include/Plugin.h | 47 ++++++++++++------------- src/core/Plugin.cpp | 83 ++++++++++++++++++++------------------------- 2 files changed, 58 insertions(+), 72 deletions(-) diff --git a/include/Plugin.h b/include/Plugin.h index 1deb6a64e..b91999aec 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -1,7 +1,7 @@ /* * Plugin.h - class plugin, the base-class and generic interface for all plugins * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -72,12 +72,12 @@ public: PluginTypes type; const PixmapLoader * logo; const char * supportedFileTypes; - inline bool supportsFileType( const QString & _ext ) const + + inline bool supportsFileType( const QString& extension ) const { - return QString( supportedFileTypes ). - split( QChar( ',' ) ). - contains( _ext ); + return QString( supportedFileTypes ).split( QChar( ',' ) ).contains( extension ); } + class EXPORT SubPluginFeatures { public: @@ -101,11 +101,10 @@ public: inline bool isValid() const { - return desc != NULL && - name != QString::null; + return desc != NULL && name.isNull() == false; } - const Plugin::Descriptor * desc; + const Plugin::Descriptor* desc; QString name; AttributeMap attributes; } ; @@ -113,8 +112,8 @@ public: typedef QList KeyList; - SubPluginFeatures( Plugin::PluginTypes _type ) : - m_type( _type ) + SubPluginFeatures( Plugin::PluginTypes type ) : + m_type( type ) { } @@ -126,8 +125,7 @@ public: { } - virtual void listSubPluginKeys( const Plugin::Descriptor *, - KeyList & ) const + virtual void listSubPluginKeys( const Plugin::Descriptor *, KeyList & ) const { } @@ -144,15 +142,13 @@ public: typedef QList DescriptorList; // contructor of a plugin - Plugin( const Descriptor * _descriptor, Model * _parent ); + Plugin( const Descriptor* descriptor, Model* parent ); virtual ~Plugin(); // returns display-name out of descriptor virtual QString displayName() const { - return Model::displayName().isEmpty() ? - m_descriptor->displayName : - Model::displayName(); + return Model::displayName().isEmpty() ? m_descriptor->displayName : Model::displayName(); } // return plugin-type @@ -162,41 +158,40 @@ public: } // return plugin-descriptor for further information - inline const Descriptor * descriptor() const + inline const Descriptor* descriptor() const { return m_descriptor; } // can be called if a file matching supportedFileTypes should be // loaded/processed with the help of this plugin - virtual void loadFile( const QString & _file ); + virtual void loadFile( const QString& file ); // Called if external source needs to change something but we cannot // reference the class header. Should return null if not key not found. - virtual AutomatableModel * childModel( const QString & _modelName ); + virtual AutomatableModel* childModel( const QString& modelName ); // returns an instance of a plugin whose name matches to given one // if specified plugin couldn't be loaded, it creates a dummy-plugin - static Plugin * instantiate( const QString & _plugin_name, - Model * _parent, void * _data ); + static Plugin * instantiate( const QString& pluginName, Model * parent, void * data ); // fills given list with descriptors of all available plugins - static void getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ); + static void getDescriptorsOfAvailPlugins( DescriptorList& pluginDescriptors ); // create a view for the model - PluginView * createView( QWidget * _parent ); + PluginView * createView( QWidget* parent ); protected: // create a view for the model - virtual PluginView * instantiateView( QWidget * ) = 0; + virtual PluginView* instantiateView( QWidget* ) = 0; private: - const Descriptor * m_descriptor; + const Descriptor* m_descriptor; // pointer to instantiation-function in plugin - typedef Plugin * ( * instantiationHook )( Model *, void * ); + typedef Plugin * ( * InstantiationHook )( Model*, void* ); } ; diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 2d4e679fa..02d725f03 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -1,9 +1,7 @@ -#ifndef SINGLE_SOURCE_COMPILE - /* * Plugin.cpp - implementation of plugin-class including plugin-loader * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -55,9 +53,9 @@ static Plugin::Descriptor dummy_plugin_descriptor = -Plugin::Plugin( const Descriptor * _descriptor, Model * _parent ) : +Plugin::Plugin( const Descriptor * _descriptor, Model * parent ) : JournallingObject(), - Model( _parent ), + Model( parent ), m_descriptor( _descriptor ) { if( m_descriptor == NULL ) @@ -92,86 +90,80 @@ AutomatableModel * Plugin::childModel( const QString & ) -Plugin * Plugin::instantiate( const QString & _plugin_name, Model * _parent, - void * _data ) +Plugin * Plugin::instantiate( const QString & pluginName, Model * parent, + void * data ) { - QLibrary plugin_lib( configManager::inst()->pluginDir() + - _plugin_name ); - if( plugin_lib.load() == false ) + QLibrary pluginLibrary( configManager::inst()->pluginDir() + pluginName ); + if( pluginLibrary.load() == false ) { if( engine::hasGUI() ) { QMessageBox::information( NULL, tr( "Plugin not found" ), - tr( "The plugin \"%1\" wasn't found " - "or could not be loaded!\n" - "Reason: \"%2\"" ).arg( _plugin_name ). - arg( plugin_lib.errorString() ), - QMessageBox::Ok | - QMessageBox::Default ); + tr( "The plugin \"%1\" wasn't found or could not be loaded!\nReason: \"%2\"" ). + arg( pluginName ).arg( pluginLibrary.errorString() ), + QMessageBox::Ok | QMessageBox::Default ); } return new DummyPlugin(); } - instantiationHook inst_hook = ( instantiationHook ) plugin_lib.resolve( - "lmms_plugin_main" ); - if( inst_hook == NULL ) + + InstantiationHook instantiationHook = ( InstantiationHook ) pluginLibrary.resolve( "lmms_plugin_main" ); + if( instantiationHook == NULL ) { if( engine::hasGUI() ) { QMessageBox::information( NULL, tr( "Error while loading plugin" ), - tr( "Failed to load plugin \"%1\"!" - ).arg( _plugin_name ), - QMessageBox::Ok | - QMessageBox::Default ); + tr( "Failed to load plugin \"%1\"!").arg( pluginName ), + QMessageBox::Ok | QMessageBox::Default ); } return new DummyPlugin(); } - Plugin * inst = inst_hook( _parent, _data ); + + Plugin * inst = instantiationHook( parent, data ); return inst; } -void Plugin::getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ) +void Plugin::getDescriptorsOfAvailPlugins( DescriptorList& pluginDescriptors ) { QDir directory( configManager::inst()->pluginDir() ); #ifdef LMMS_BUILD_WIN32 - QFileInfoList list = directory.entryInfoList( - QStringList( "*.dll" ) ); + QFileInfoList list = directory.entryInfoList( QStringList( "*.dll" ) ); #else - QFileInfoList list = directory.entryInfoList( - QStringList( "lib*.so" ) ); + QFileInfoList list = directory.entryInfoList( QStringList( "lib*.so" ) ); #endif - foreach( const QFileInfo & f, list ) + foreach( const QFileInfo& f, list ) { QLibrary( f.absoluteFilePath() ).load(); } - foreach( const QFileInfo & f, list ) + foreach( const QFileInfo& f, list ) { - QLibrary plugin_lib( f.absoluteFilePath() ); - if( plugin_lib.load() == false || - plugin_lib.resolve( "lmms_plugin_main" ) == NULL ) + QLibrary pluginLibrary( f.absoluteFilePath() ); + if( pluginLibrary.load() == false || + pluginLibrary.resolve( "lmms_plugin_main" ) == NULL ) { continue; } - QString desc_name = f.baseName() + "_plugin_descriptor"; - if( desc_name.left( 3 ) == "lib" ) + + QString descriptorName = f.baseName() + "_plugin_descriptor"; + if( descriptorName.left( 3 ) == "lib" ) { - desc_name = desc_name.mid( 3 ); + descriptorName = descriptorName.mid( 3 ); } - Descriptor * plugin_desc = - (Descriptor *) plugin_lib.resolve( - desc_name.toUtf8().constData() ); - if( plugin_desc == NULL ) + + Descriptor* pluginDescriptor = (Descriptor *) pluginLibrary.resolve( descriptorName.toUtf8().constData() ); + if( pluginDescriptor == NULL ) { qWarning() << tr( "LMMS plugin %1 does not have a plugin descriptor named %2!" ). - arg( f.absoluteFilePath() ).arg( desc_name ); + arg( f.absoluteFilePath() ).arg( descriptorName ); continue; } - _plugin_descs.push_back( *plugin_desc ); + + pluginDescriptors += *pluginDescriptor; } } @@ -179,9 +171,9 @@ void Plugin::getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ) -PluginView * Plugin::createView( QWidget * _parent ) +PluginView * Plugin::createView( QWidget * parent ) { - PluginView * pv = instantiateView( _parent ); + PluginView * pv = instantiateView( parent ); if( pv != NULL ) { pv->setModel( this ); @@ -225,4 +217,3 @@ QDomElement Plugin::Descriptor::SubPluginFeatures::Key::saveXML( } -#endif From 70ef29981f066e1928b414e6fa85d57b83aac25c Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:23:31 +0200 Subject: [PATCH 18/28] Plugin: remove unused base64.h header --- include/Plugin.h | 9 +++------ plugins/bit_invader/bit_invader.cpp | 1 + .../dynamics_processor/dynamics_processor_controls.cpp | 1 + plugins/papu/papu_instrument.cpp | 1 + plugins/watsyn/Watsyn.cpp | 1 + plugins/waveshaper/waveshaper_controls.cpp | 1 + src/core/DataFile.cpp | 1 + 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/Plugin.h b/include/Plugin.h index b91999aec..7c937dc8c 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -22,18 +22,15 @@ * */ -#ifndef _PLUGIN_H -#define _PLUGIN_H +#ifndef PLUGIN_H +#define PLUGIN_H -#include #include -#include +#include #include #include "JournallingObject.h" #include "Model.h" -#include "base64.h" - class QWidget; diff --git a/plugins/bit_invader/bit_invader.cpp b/plugins/bit_invader/bit_invader.cpp index 682f470a6..881ac8695 100644 --- a/plugins/bit_invader/bit_invader.cpp +++ b/plugins/bit_invader/bit_invader.cpp @@ -26,6 +26,7 @@ #include #include "bit_invader.h" +#include "base64.h" #include "engine.h" #include "graph.h" #include "InstrumentTrack.h" diff --git a/plugins/dynamics_processor/dynamics_processor_controls.cpp b/plugins/dynamics_processor/dynamics_processor_controls.cpp index ffe9d2d96..108ecb8ab 100644 --- a/plugins/dynamics_processor/dynamics_processor_controls.cpp +++ b/plugins/dynamics_processor/dynamics_processor_controls.cpp @@ -28,6 +28,7 @@ #include "dynamics_processor_controls.h" #include "dynamics_processor.h" +#include "base64.h" #include "graph.h" #include "engine.h" #include "song.h" diff --git a/plugins/papu/papu_instrument.cpp b/plugins/papu/papu_instrument.cpp index 510042a4c..fa3c4425e 100644 --- a/plugins/papu/papu_instrument.cpp +++ b/plugins/papu/papu_instrument.cpp @@ -29,6 +29,7 @@ #include "Basic_Gb_Apu.h" #include "papu_instrument.h" +#include "base64.h" #include "InstrumentTrack.h" #include "knob.h" #include "NotePlayHandle.h" diff --git a/plugins/watsyn/Watsyn.cpp b/plugins/watsyn/Watsyn.cpp index 72af13771..16cd223e6 100644 --- a/plugins/watsyn/Watsyn.cpp +++ b/plugins/watsyn/Watsyn.cpp @@ -25,6 +25,7 @@ #include #include "Watsyn.h" +#include "base64.h" #include "engine.h" #include "InstrumentTrack.h" #include "templates.h" diff --git a/plugins/waveshaper/waveshaper_controls.cpp b/plugins/waveshaper/waveshaper_controls.cpp index 4dfda0ca7..7b7e43379 100644 --- a/plugins/waveshaper/waveshaper_controls.cpp +++ b/plugins/waveshaper/waveshaper_controls.cpp @@ -28,6 +28,7 @@ #include "waveshaper_controls.h" #include "waveshaper.h" +#include "base64.h" #include "graph.h" #include "engine.h" #include "song.h" diff --git a/src/core/DataFile.cpp b/src/core/DataFile.cpp index b7b43c4a0..c109e2828 100644 --- a/src/core/DataFile.cpp +++ b/src/core/DataFile.cpp @@ -40,6 +40,7 @@ #include "SongEditor.h" #include "Effect.h" #include "lmmsversion.h" +#include "base64.h" // bbTCO::defaultColor() #include "bb_track.h" From f3a890edd0a4aec91993c035d9395ef07706606a Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:26:54 +0200 Subject: [PATCH 19/28] Organic: remove unused member variable --- plugins/organic/organic.h | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/organic/organic.h b/plugins/organic/organic.h index 186d75158..616321e90 100644 --- a/plugins/organic/organic.h +++ b/plugins/organic/organic.h @@ -160,7 +160,6 @@ private: virtual PluginView * instantiateView( QWidget * _parent ); - float m_harmonics [18]; private slots: void updateAllDetuning(); From 124c835cda180ca2494c36b7131a12415750b546 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:57:03 +0200 Subject: [PATCH 20/28] LadspaEffect/CALF: enable inline flags for GCC only --- plugins/LadspaEffect/calf/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/LadspaEffect/calf/CMakeLists.txt b/plugins/LadspaEffect/calf/CMakeLists.txt index db6dea7a5..d685f5302 100644 --- a/plugins/LadspaEffect/calf/CMakeLists.txt +++ b/plugins/LadspaEffect/calf/CMakeLists.txt @@ -7,9 +7,9 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include" INSTALL(TARGETS calf LIBRARY DESTINATION "${PLUGIN_DIR}/ladspa") SET_TARGET_PROPERTIES(calf PROPERTIES PREFIX "") SET(INLINE_FLAGS "") -IF(NOT LMMS_BUILD_APPLE) +IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") SET(INLINE_FLAGS "-finline-functions-called-once -finline-limit=80") -ENDIF(NOT LMMS_BUILD_APPLE) +ENDIF() SET_TARGET_PROPERTIES(calf PROPERTIES COMPILE_FLAGS "-O2 -finline-functions ${INLINE_FLAGS}") IF(LMMS_BUILD_WIN32) From 0ef3d6c1f61a084ab7bf9722ae30672c6250e20c Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 14:59:30 +0200 Subject: [PATCH 21/28] FxMixerView: declare as class for consistency with friend declaration later --- include/FxMixerView.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/FxMixerView.h b/include/FxMixerView.h index 8e96797c6..219c3f12e 100644 --- a/include/FxMixerView.h +++ b/include/FxMixerView.h @@ -1,7 +1,7 @@ /* * FxMixerView.h - effect-mixer-view for LMMS * - * Copyright (c) 2008 Tobias Doerffel + * Copyright (c) 2008-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -48,8 +48,9 @@ class EXPORT FxMixerView : public QWidget, public ModelView, { Q_OBJECT public: - struct FxChannelView + class FxChannelView { + public: FxChannelView(QWidget * _parent, FxMixerView * _mv, int _chIndex ); FxLine * m_fxLine; From c400c9ba4da6536248416c30f0a981b73528a0a2 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 16:22:54 +0200 Subject: [PATCH 22/28] LadspaEffect/CALF: Clang compatibility fixes --- plugins/LadspaEffect/caps/SweepVF.cc | 8 +++++--- plugins/LadspaEffect/caps/dsp/ToneStack.h | 7 ------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/plugins/LadspaEffect/caps/SweepVF.cc b/plugins/LadspaEffect/caps/SweepVF.cc index 95921c258..f97c220cf 100644 --- a/plugins/LadspaEffect/caps/SweepVF.cc +++ b/plugins/LadspaEffect/caps/SweepVF.cc @@ -28,6 +28,8 @@ 02111-1307, USA or point your web browser to http://www.gnu.org. */ +#include + #include "basics.h" #include "SweepVF.h" @@ -85,7 +87,7 @@ SweepVFI::one_cycle (int frames) modulation *= scale * f; svf.set_f_Q (max (.001, f + modulation), Q); - int n = min (frames, BLOCK_SIZE); + int n = std::min (frames, BLOCK_SIZE); for (int i = 0; i < n; ++i) F (d, i, svf.process (s[i] + normal), adding_gain); @@ -231,7 +233,7 @@ SweepVFII::one_cycle (int frames) svf.set_f_Q (max (.001, f + modulation1), q); - int n = min (frames, BLOCK_SIZE); + int n = std::min (frames, BLOCK_SIZE); for (int i = 0; i < n; ++i) F (d, i, svf.process (s[i] + normal), adding_gain); @@ -385,7 +387,7 @@ AutoWah::one_cycle (int frames) m *= scale * .08; svf.set_f_Q (max (.001, f + m), Q); - int n = min (frames, BLOCK_SIZE); + int n = std::min (frames, BLOCK_SIZE); for (int i = 0; i < n; ++i) { diff --git a/plugins/LadspaEffect/caps/dsp/ToneStack.h b/plugins/LadspaEffect/caps/dsp/ToneStack.h index ef85d2057..4d0600856 100644 --- a/plugins/LadspaEffect/caps/dsp/ToneStack.h +++ b/plugins/LadspaEffect/caps/dsp/ToneStack.h @@ -69,10 +69,7 @@ class ToneStack // digital coefficients double dcoef_a[Order + 1]; double dcoef_b[Order + 1]; - double af[Order + 1]; - double bf[Order + 1]; - double fs; TDFII filter; public: @@ -209,10 +206,6 @@ class ToneStackLT // digital coefficients double *kcoef; double *vcoef; - double af [Order + 1]; - double bf [Order + 1]; - - double fs; LatFilt filter; public: From d85f649897491655cfae5b2126b3ad6cbf597294 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 16:23:33 +0200 Subject: [PATCH 23/28] Nes/NesObject: remove unused m_fpp variable --- plugins/nes/Nes.cpp | 7 +++---- plugins/nes/Nes.h | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/nes/Nes.cpp b/plugins/nes/Nes.cpp index 1efa56dc9..240dcbc08 100644 --- a/plugins/nes/Nes.cpp +++ b/plugins/nes/Nes.cpp @@ -57,11 +57,10 @@ Plugin::Descriptor PLUGIN_EXPORT nes_plugin_descriptor = } -NesObject::NesObject( NesInstrument * nes, const sample_rate_t samplerate, NotePlayHandle * nph, fpp_t frames ) : +NesObject::NesObject( NesInstrument * nes, const sample_rate_t samplerate, NotePlayHandle * nph ) : m_parent( nes ), m_samplerate( samplerate ), - m_nph( nph ), - m_fpp( frames ) + m_nph( nph ) { m_pitchUpdateCounter = 0; m_pitchUpdateFreq = wavelength( 60.0f ); @@ -558,7 +557,7 @@ void NesInstrument::playNote( NotePlayHandle * n, sampleFrame * workingBuffer ) { if ( n->totalFramesPlayed() == 0 || n->m_pluginData == NULL ) { - NesObject * nes = new NesObject( this, engine::mixer()->processingSampleRate(), n, engine::mixer()->framesPerPeriod() ); + NesObject * nes = new NesObject( this, engine::mixer()->processingSampleRate(), n ); n->m_pluginData = nes; } diff --git a/plugins/nes/Nes.h b/plugins/nes/Nes.h index 6a80f0974..523d006dd 100644 --- a/plugins/nes/Nes.h +++ b/plugins/nes/Nes.h @@ -81,7 +81,7 @@ class NesInstrument; class NesObject { public: - NesObject( NesInstrument * nes, const sample_rate_t samplerate, NotePlayHandle * nph, fpp_t frames ); + NesObject( NesInstrument * nes, const sample_rate_t samplerate, NotePlayHandle * nph ); virtual ~NesObject(); void renderOutput( sampleFrame * buf, fpp_t frames ); @@ -149,7 +149,6 @@ private: NesInstrument * m_parent; const sample_rate_t m_samplerate; NotePlayHandle * m_nph; - fpp_t m_fpp; int m_pitchUpdateCounter; int m_pitchUpdateFreq; From a1d6adfe109d0ec350d8e531a51d3bd0e1cbd3f5 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 16:24:20 +0200 Subject: [PATCH 24/28] LadspaEffect/SWH: remove unused variables and useless assignments for better Clang compatibility --- plugins/LadspaEffect/swh/fad_delay_1192.c | 1 - plugins/LadspaEffect/swh/gsm/gsm_create.c | 1 - plugins/LadspaEffect/swh/gsm_1215.c | 6 ------ plugins/LadspaEffect/swh/hermes_filter_1200.c | 6 ------ plugins/LadspaEffect/swh/ladspa-util.c | 2 +- plugins/LadspaEffect/swh/pitch_scale_1193.c | 1 - plugins/LadspaEffect/swh/ringmod_1188.c | 2 -- plugins/LadspaEffect/swh/step_muxer_1212.c | 1 - plugins/LadspaEffect/swh/tape_delay_1211.c | 1 - plugins/LadspaEffect/swh/transient_1206.c | 1 - 10 files changed, 1 insertion(+), 21 deletions(-) diff --git a/plugins/LadspaEffect/swh/fad_delay_1192.c b/plugins/LadspaEffect/swh/fad_delay_1192.c index 9d4ec77b3..422e769d9 100644 --- a/plugins/LadspaEffect/swh/fad_delay_1192.c +++ b/plugins/LadspaEffect/swh/fad_delay_1192.c @@ -86,7 +86,6 @@ static void activateFadDelay(LADSPA_Handle instance) { phase = 0; last_phase = 0; last_in = 0.0f; - sample_rate = sample_rate; plugin_data->buffer = buffer; plugin_data->buffer_mask = buffer_mask; plugin_data->buffer_size = buffer_size; diff --git a/plugins/LadspaEffect/swh/gsm/gsm_create.c b/plugins/LadspaEffect/swh/gsm/gsm_create.c index cadaff60e..f99eb91e2 100644 --- a/plugins/LadspaEffect/swh/gsm/gsm_create.c +++ b/plugins/LadspaEffect/swh/gsm/gsm_create.c @@ -4,7 +4,6 @@ * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. */ -static char const ident[] = "$Header: /home/cvs/giga/ladspa-swh/gsm/gsm_create.c,v 1.1 2001/06/10 21:36:51 swh Exp $"; #include "config.h" diff --git a/plugins/LadspaEffect/swh/gsm_1215.c b/plugins/LadspaEffect/swh/gsm_1215.c index 55c0f2628..8cef93ba5 100644 --- a/plugins/LadspaEffect/swh/gsm_1215.c +++ b/plugins/LadspaEffect/swh/gsm_1215.c @@ -224,7 +224,6 @@ static void runGsm(LADSPA_Handle instance, unsigned long sample_count) { int count = plugin_data->count; LADSPA_Data * dry = plugin_data->dry; gsm_signal * dst = plugin_data->dst; - float fs = plugin_data->fs; gsm handle = plugin_data->handle; int resamp = plugin_data->resamp; float rsf = plugin_data->rsf; @@ -238,8 +237,6 @@ static void runGsm(LADSPA_Handle instance, unsigned long sample_count) { int error_rate = f_round(error); int num_passes = f_round(passes); - fs = fs; // So gcc doesn't think it's unused - for (pos = 0; pos < sample_count; pos++) { // oversample into buffer down to aprox 8kHz, 13bit @@ -322,7 +319,6 @@ static void runAddingGsm(LADSPA_Handle instance, unsigned long sample_count) { int count = plugin_data->count; LADSPA_Data * dry = plugin_data->dry; gsm_signal * dst = plugin_data->dst; - float fs = plugin_data->fs; gsm handle = plugin_data->handle; int resamp = plugin_data->resamp; float rsf = plugin_data->rsf; @@ -336,8 +332,6 @@ static void runAddingGsm(LADSPA_Handle instance, unsigned long sample_count) { int error_rate = f_round(error); int num_passes = f_round(passes); - fs = fs; // So gcc doesn't think it's unused - for (pos = 0; pos < sample_count; pos++) { // oversample into buffer down to aprox 8kHz, 13bit diff --git a/plugins/LadspaEffect/swh/hermes_filter_1200.c b/plugins/LadspaEffect/swh/hermes_filter_1200.c index d313d376e..bf3bbbad5 100644 --- a/plugins/LadspaEffect/swh/hermes_filter_1200.c +++ b/plugins/LadspaEffect/swh/hermes_filter_1200.c @@ -817,7 +817,6 @@ static void runHermesFilter(LADSPA_Handle instance, unsigned long sample_count) float lfo2_phase = plugin_data->lfo2_phase; blo_h_osc * osc1_d = plugin_data->osc1_d; blo_h_osc * osc2_d = plugin_data->osc2_d; - blo_h_tables * tables = plugin_data->tables; sv_filter * xover_b1_data = plugin_data->xover_b1_data; sv_filter * xover_b2_data = plugin_data->xover_b2_data; @@ -927,8 +926,6 @@ static void runHermesFilter(LADSPA_Handle instance, unsigned long sample_count) dela_fb[1] = dela2_fb; dela_fb[2] = dela3_fb; - tables = tables; // To shut up gcc - for (pos = 0; pos < sample_count; pos++) { count++; // Count of number of samples processed @@ -1204,7 +1201,6 @@ static void runAddingHermesFilter(LADSPA_Handle instance, unsigned long sample_c float lfo2_phase = plugin_data->lfo2_phase; blo_h_osc * osc1_d = plugin_data->osc1_d; blo_h_osc * osc2_d = plugin_data->osc2_d; - blo_h_tables * tables = plugin_data->tables; sv_filter * xover_b1_data = plugin_data->xover_b1_data; sv_filter * xover_b2_data = plugin_data->xover_b2_data; @@ -1314,8 +1310,6 @@ static void runAddingHermesFilter(LADSPA_Handle instance, unsigned long sample_c dela_fb[1] = dela2_fb; dela_fb[2] = dela3_fb; - tables = tables; // To shut up gcc - for (pos = 0; pos < sample_count; pos++) { count++; // Count of number of samples processed diff --git a/plugins/LadspaEffect/swh/ladspa-util.c b/plugins/LadspaEffect/swh/ladspa-util.c index 57ce5bf15..431ba955e 100644 --- a/plugins/LadspaEffect/swh/ladspa-util.c +++ b/plugins/LadspaEffect/swh/ladspa-util.c @@ -4,7 +4,7 @@ the stack and crap like that. */ -static const float _truncate_half = 0.5f; +//static const float _truncate_half = 0.5f; int truncate(float flt) { int i; diff --git a/plugins/LadspaEffect/swh/pitch_scale_1193.c b/plugins/LadspaEffect/swh/pitch_scale_1193.c index ce3f81163..88cf24cc8 100644 --- a/plugins/LadspaEffect/swh/pitch_scale_1193.c +++ b/plugins/LadspaEffect/swh/pitch_scale_1193.c @@ -79,7 +79,6 @@ static void activatePitchScale(LADSPA_Handle instance) { memset(buffers->gAnaFreq, 0, FRAME_LENGTH*sizeof(float)); memset(buffers->gAnaMagn, 0, FRAME_LENGTH*sizeof(float)); buffers->gRover = 0; - sample_rate = sample_rate; /* do one run to make sure the plans are set up */ pitch_scale(buffers, 1.0, FRAME_LENGTH, 4, FRAME_LENGTH, sample_rate, buffers->gInFIFO, buffers->gOutFIFO, 0, 0.0f); diff --git a/plugins/LadspaEffect/swh/ringmod_1188.c b/plugins/LadspaEffect/swh/ringmod_1188.c index 393ad86b2..591dc966e 100644 --- a/plugins/LadspaEffect/swh/ringmod_1188.c +++ b/plugins/LadspaEffect/swh/ringmod_1188.c @@ -207,8 +207,6 @@ static void activateRingmod_1i1o1l(LADSPA_Handle instance) { static void cleanupRingmod_1i1o1l(LADSPA_Handle instance) { #line 93 "ringmod_1188.xml" - Ringmod_1i1o1l *plugin_data = (Ringmod_1i1o1l *)instance; - plugin_data = plugin_data; if (--refcount == 0) { free(sin_tbl); free(tri_tbl); diff --git a/plugins/LadspaEffect/swh/step_muxer_1212.c b/plugins/LadspaEffect/swh/step_muxer_1212.c index 9c27b84e1..99c4ecf15 100644 --- a/plugins/LadspaEffect/swh/step_muxer_1212.c +++ b/plugins/LadspaEffect/swh/step_muxer_1212.c @@ -100,7 +100,6 @@ static void activateStepMuxer(LADSPA_Handle instance) { } current_ch = 0; last_clock = 0.0f; - sample_rate = sample_rate; plugin_data->ch_gain = ch_gain; plugin_data->ch_state = ch_state; plugin_data->current_ch = current_ch; diff --git a/plugins/LadspaEffect/swh/tape_delay_1211.c b/plugins/LadspaEffect/swh/tape_delay_1211.c index 0b680ccf2..6d78239e3 100644 --- a/plugins/LadspaEffect/swh/tape_delay_1211.c +++ b/plugins/LadspaEffect/swh/tape_delay_1211.c @@ -116,7 +116,6 @@ static void activateTapeDelay(LADSPA_Handle instance) { last_in = 0.0f; last2_in = 0.0f; last3_in = 0.0f; - sample_rate = sample_rate; z0 = 0.0f; z1 = 0.0f; z2 = 0.0f; diff --git a/plugins/LadspaEffect/swh/transient_1206.c b/plugins/LadspaEffect/swh/transient_1206.c index 782593e5e..3c591535f 100644 --- a/plugins/LadspaEffect/swh/transient_1206.c +++ b/plugins/LadspaEffect/swh/transient_1206.c @@ -97,7 +97,6 @@ static void activateTransient(LADSPA_Handle instance) { medi_track = 0.1; slow_track = 0.1; count = 0; - sample_rate = sample_rate; plugin_data->buffer = buffer; plugin_data->buffer_pos = buffer_pos; plugin_data->count = count; From c4f2311032574d2d04e58cd7fcade2918a393596 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 1 Sep 2014 16:24:48 +0200 Subject: [PATCH 25/28] LadspaEffect/CMT: remove unused variables and useless assignments for better Clang compatibility --- plugins/LadspaEffect/cmt/src/lofi.cpp | 2 -- plugins/LadspaEffect/cmt/src/pink_full.cpp | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/LadspaEffect/cmt/src/lofi.cpp b/plugins/LadspaEffect/cmt/src/lofi.cpp index d4572f98b..67be8008d 100644 --- a/plugins/LadspaEffect/cmt/src/lofi.cpp +++ b/plugins/LadspaEffect/cmt/src/lofi.cpp @@ -277,8 +277,6 @@ class LoFi : public CMT_PluginInstance { BandwidthLimit *bandwidth_l; BandwidthLimit *bandwidth_r; - int last_trigger; - public: LoFi(const LADSPA_Descriptor *, unsigned long s_rate) diff --git a/plugins/LadspaEffect/cmt/src/pink_full.cpp b/plugins/LadspaEffect/cmt/src/pink_full.cpp index 1c4de1602..59c92906e 100644 --- a/plugins/LadspaEffect/cmt/src/pink_full.cpp +++ b/plugins/LadspaEffect/cmt/src/pink_full.cpp @@ -49,14 +49,13 @@ namespace pink_full { Voss-McCartney algorithm described at www.firstpr.com.au/dsp/pink-noise/ */ class Plugin : public CMT_PluginInstance { private: - LADSPA_Data sample_rate; PinkNoise noise_source; public: Plugin(const LADSPA_Descriptor *, unsigned long s_rate) : - CMT_PluginInstance(n_ports), - sample_rate(s_rate) { + CMT_PluginInstance(n_ports) + { } ~Plugin() { From e1664b106c501b3b611c982b5c1701012e7b6a1b Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 2 Sep 2014 11:19:57 +0200 Subject: [PATCH 26/28] MixerProfiler: initial simple implementation --- include/MixerProfiler.h | 60 ++++++++++++++++++++++++++++++++++++ src/core/MixerProfiler.cpp | 63 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 include/MixerProfiler.h create mode 100644 src/core/MixerProfiler.cpp diff --git a/include/MixerProfiler.h b/include/MixerProfiler.h new file mode 100644 index 000000000..697313612 --- /dev/null +++ b/include/MixerProfiler.h @@ -0,0 +1,60 @@ +/* + * MixerProfiler.h - class for profiling performance of Mixer + * + * Copyright (c) 2014 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef MIXER_PROFILER_H +#define MIXER_PROFILER_H + +#include + +#include "MicroTimer.h" + +class MixerProfiler +{ +public: + MixerProfiler(); + ~MixerProfiler(); + + void startPeriod() + { + m_periodTimer.reset(); + } + + void finishPeriod( sample_rate_t sampleRate, fpp_t framesPerPeriod ); + + int cpuLoad() const + { + return m_cpuLoad; + } + + void setOutputFile( const QString& outputFile ); + + +private: + MicroTimer m_periodTimer; + int m_cpuLoad; + QFile m_outputFile; + +}; + +#endif diff --git a/src/core/MixerProfiler.cpp b/src/core/MixerProfiler.cpp new file mode 100644 index 000000000..9e3b99d27 --- /dev/null +++ b/src/core/MixerProfiler.cpp @@ -0,0 +1,63 @@ +/* + * MixerProfiler.cpp - class for profiling performance of Mixer + * + * Copyright (c) 2014 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include "MixerProfiler.h" + + +MixerProfiler::MixerProfiler() : + m_periodTimer(), + m_cpuLoad( 0 ), + m_outputFile() +{ +} + + + +MixerProfiler::~MixerProfiler() +{ +} + + +void MixerProfiler::finishPeriod( sample_rate_t sampleRate, fpp_t framesPerPeriod ) +{ + int periodElapsed = m_periodTimer.elapsed(); + + const float newCpuLoad = periodElapsed / 10000.0f * sampleRate / framesPerPeriod; + m_cpuLoad = qBound( 0, ( newCpuLoad * 0.1f + m_cpuLoad * 0.9f ), 100 ); + + if( m_outputFile.isOpen() ) + { + m_outputFile.write( QString( "%1\n" ).arg( periodElapsed ).toLatin1() ); + } +} + + + +void MixerProfiler::setOutputFile( const QString& outputFile ) +{ + m_outputFile.close(); + m_outputFile.setFileName( outputFile ); + m_outputFile.open( QFile::WriteOnly | QFile::Truncate ); +} + From 8628bcc77bd4bab28dc2dc0dbec6a2c119875f4d Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 2 Sep 2014 11:20:52 +0200 Subject: [PATCH 27/28] Mixer: integrated MixerProfiler --- include/Mixer.h | 12 +++++++++--- src/core/Mixer.cpp | 15 ++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/include/Mixer.h b/include/Mixer.h index 7007e1801..29b54da51 100644 --- a/include/Mixer.h +++ b/include/Mixer.h @@ -47,6 +47,7 @@ #include "lmms_basics.h" #include "note.h" #include "fifo_buffer.h" +#include "MixerProfiler.h" class AudioDevice; @@ -246,9 +247,14 @@ public: } - inline int cpuLoad() const + MixerProfiler& profiler() { - return m_cpuLoad; + return m_profiler; + } + + int cpuLoad() const + { + return m_profiler.cpuLoad(); } const qualitySettings & currentQualitySettings() const @@ -424,7 +430,6 @@ private: bool m_oldBuffer[SURROUND_CHANNELS]; bool m_newBuffer[SURROUND_CHANNELS]; - int m_cpuLoad; QVector m_workers; int m_numWorkers; QWaitCondition m_queueReadyWaitCond; @@ -453,6 +458,7 @@ private: fifo * m_fifo; fifoWriter * m_fifoWriter; + MixerProfiler m_profiler; friend class engine; friend class MixerWorkerThread; diff --git a/src/core/Mixer.cpp b/src/core/Mixer.cpp index 7006c5c5c..b39328d4f 100644 --- a/src/core/Mixer.cpp +++ b/src/core/Mixer.cpp @@ -38,7 +38,6 @@ #include "config_mgr.h" #include "SamplePlayHandle.h" #include "PianoRoll.h" -#include "MicroTimer.h" #include "atomic_int.h" // platform-specific audio-interface-classes @@ -69,7 +68,6 @@ Mixer::Mixer() : m_inputBufferWrite( 1 ), m_readBuf( NULL ), m_writeBuf( NULL ), - m_cpuLoad( 0 ), m_workers(), m_numWorkers( QThread::idealThreadCount()-1 ), m_queueReadyWaitCond(), @@ -77,7 +75,8 @@ Mixer::Mixer() : m_masterGain( 1.0f ), m_audioDev( NULL ), m_oldAudioDev( NULL ), - m_globalMutex( QMutex::Recursive ) + m_globalMutex( QMutex::Recursive ), + m_profiler() { for( int i = 0; i < 2; ++i ) { @@ -277,7 +276,7 @@ sample_rate_t Mixer::processingSampleRate() const bool Mixer::criticalXRuns() const { - return m_cpuLoad >= 99 && engine::getSong()->isExporting() == false; + return cpuLoad() >= 99 && engine::getSong()->isExporting() == false; } @@ -315,7 +314,8 @@ void Mixer::pushInputFrames( sampleFrame * _ab, const f_cnt_t _frames ) const surroundSampleFrame * Mixer::renderNextBuffer() { - MicroTimer timer; + m_profiler.startPeriod(); + static song::playPos last_metro_pos = -1; song::playPos p = engine::getSong()->getPlayPos( @@ -419,10 +419,7 @@ const surroundSampleFrame * Mixer::renderNextBuffer() EnvelopeAndLfoParameters::instances()->trigger(); Controller::triggerFrameCounter(); - const float new_cpu_load = timer.elapsed() / 10000.0f * - processingSampleRate() / m_framesPerPeriod; - m_cpuLoad = tLimit( (int) ( new_cpu_load * 0.1f + m_cpuLoad * 0.9f ), 0, - 100 ); + m_profiler.finishPeriod( processingSampleRate(), m_framesPerPeriod ); return m_readBuf; } From f07287c7714850e713d4aa5f42ca3000bb3d6edf Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 2 Sep 2014 11:21:11 +0200 Subject: [PATCH 28/28] Added support for profile command line option --- src/core/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core/main.cpp b/src/core/main.cpp index e3416cbd3..5cb923b55 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -95,7 +95,7 @@ int main( int argc, char * * argv ) bool core_only = false; bool fullscreen = true; bool exit_after_import = false; - QString file_to_load, file_to_save, file_to_import, render_out; + QString file_to_load, file_to_save, file_to_import, render_out, profilerOutputFile; for( int i = 1; i < argc; ++i ) { @@ -341,6 +341,11 @@ int main( int argc, char * * argv ) exit_after_import = true; } } + else if( argc > i && ( QString( argv[i] ) == "--profile" || QString( argv[i] ) == "-p" ) ) + { + profilerOutputFile = argv[i+1]; + ++i; + } else { if( argv[i][0] == '-' ) @@ -496,6 +501,11 @@ int main( int argc, char * * argv ) SLOT( updateConsoleProgress() ) ); t->start( 200 ); + if( profilerOutputFile.isEmpty() == false ) + { + engine::mixer()->profiler().setOutputFile( profilerOutputFile ); + } + // start now! r->startProcessing(); }