Commit Graph

822 Commits (main)

Author SHA1 Message Date
Georg Krause 0846755493 Add one more timing debug output 2018-06-08 18:34:57 +02:00
Georg Krause b0b3a3c4e5 Add timing debug options 2018-06-08 18:34:51 +02:00
Georg Krause a0cca4d78f Reset Playhead on the first beat of the first bar of a loop 2018-06-08 18:34:43 +02:00
Georg Krause 9849918565 add smoothing for sidechain signal knobs 2018-06-03 10:37:47 +02:00
Georg Krause a0963debda update comment 2018-06-03 10:37:47 +02:00
Georg Krause a537a9725e implement smoothing for sends; refactore confusing names 2018-06-03 10:37:47 +02:00
Georg Krause b178ab2110 improve setting the pan and implement smoothing for the panning 2018-06-03 10:37:47 +02:00
Georg Krause b816f05279 use global smoothing const 2018-06-03 10:37:47 +02:00
Georg Krause 6476bd8ddf apply master fader smoothing to track faders 2018-06-03 10:37:47 +02:00
Georg Krause 91803ee6eb apply better smoothing parameter 2018-06-03 10:37:47 +02:00
Georg Krause 5dfc7bc639 simplify smoothing of master fader 2018-06-03 10:37:47 +02:00
Harry van Haaren 289313ce13
Merge pull request #230 from georgkrause/issue228
Fix Input Signal Flow
2018-05-19 16:34:00 +01:00
Harry van Haaren 338c6cdbf0
Merge pull request #222 from georgkrause/trackconfusion
repair trackconfusion
2018-05-19 16:31:51 +01:00
Harry van Haaren 73221aed04
Merge pull request #219 from georgkrause/clearclip134
sets default binding active to 1
2018-05-19 16:31:24 +01:00
Georg Krause c917e9497c set the volume for recording the right way 2018-05-09 10:02:45 +02:00
Georg Krause 049ee5b191 record after input volume 2018-05-08 13:45:15 +02:00
Georg Krause 01b49a78dd don't pipe input to send if input monitoring is turned off 2018-05-08 11:46:25 +02:00
coderkun 068d882ba0 Unify access to track buffers via array indices
Unify the access to track buffers via their array indices by using
reasonable variable names (e. g. “trackoffset” instead of “o”).
Additionally define the number of channels in the global configuration.
Finally add some comments to explain the index calculation.
2018-04-13 22:24:45 +02:00
coderkun e2af26067b fix typo 2018-04-13 15:48:46 +02:00
Georg Krause 987ec5dfbc unify buffer access 2018-04-13 15:35:36 +02:00
Georg Krause 763e5da4f9 use all Buffers in a stereo way 2018-04-13 15:34:17 +02:00
Georg Krause 7b5de4580b try to fix #220 2018-04-11 21:19:05 +02:00
Georg Krause 817dd63541 solve bug in binding midi controller to grid events 2018-04-11 12:33:56 +02:00
Georg Krause b517662e29 sets default binding active to 1 2018-04-09 09:08:27 +02:00
Georg Krause 6a1e2c7782 removed some unused Code in TimeManager::setBpm 2018-04-08 11:23:49 +02:00
Georg Krause e24b4a661f removed some unused Code in Jack::Jack 2018-04-08 11:20:23 +02:00
Georg Krause 659fd713a7 removed some unused Code in Gui:Gui 2018-04-08 11:19:30 +02:00
Georg Krause a19a4a3e99 remove some unused Code in handleDspEvents 2018-04-08 11:16:37 +02:00
Georg Krause 371bbf7f04 removed some unused code in Diskwriter::writeControllerFile 2018-04-08 11:14:02 +02:00
Georg Krause efc531206d removed AudioBuffer::operator<< 2018-04-08 11:07:13 +02:00
Georg Krause 10b2cad7ed removed declarations of removed functions 2018-04-08 11:04:11 +02:00
Georg Krause c909d8b15f removed GenericMIDI::launchScene && ::mute 2018-04-08 11:00:26 +02:00
Georg Krause ca4478c721 removed GenericMIDI::trackSend 2018-04-08 11:00:03 +02:00
Georg Krause 2572edb570 removed GenericMIDI::progress 2018-04-08 10:59:45 +02:00
Georg Krause 74f1167558 removed GenericMIDI::volume 2018-04-08 10:58:12 +02:00
Georg Krause 4e9def136e removed GenericMIDI::noteOn 2018-04-08 10:57:54 +02:00
Georg Krause 73ad9dac35 removed GenericMIDI::ccChange 2018-04-08 10:57:18 +02:00
Georg Krause 568cc8efd9 removed GenericMIDI::ccChange 2018-04-08 10:56:43 +02:00
Harry van Haaren fb5174593c
Merge pull request #216 from georgkrause/cleanup
Cleanup, thanks @georgkrause
2018-04-05 21:07:28 +01:00
Harry van Haaren 2cb998366c generic midi: fix launch scene to handle all bindings
Previously only a single binding would execute, and then
we would return from the function. As a result, other bindings
would not exectue, resulting in incorrect behaviuor on certain
devices (Eg: Akai APC 40).

Closes #197, thanks @georgkrause for the PR.

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-04-05 20:18:33 +01:00
Georg Krause 9607768b7e little code improvement, removed if-else for ternary operator 2018-04-05 19:40:56 +01:00
Georg Krause e06052b656 fixes a stupid bug, thanks Harry ;) 2018-04-05 19:40:56 +01:00
Georg Krause 9292e0c715 update all scene launch buttons 2018-04-05 19:40:56 +01:00
Georg Krause bcd64ca9c7 small cleanup 2018-04-02 22:12:27 +02:00
Georg Krause 56fcb8a7c0 use calculation in class member 2018-04-02 22:09:59 +02:00
Georg Krause 0427fca96d one more hard coded scene number 2018-04-02 16:40:35 +02:00
Georg Krause dc0bf938e8 remove hardcoded clip numbers 2018-04-02 16:27:54 +02:00
Georg Krause 982dd05708 found two more hard coded bpm limits 2018-04-01 21:04:30 +02:00
Harry van Haaren 06d88ff7f5 Clean up string stuff 2018-04-01 09:41:30 +02:00
Georg Krause 31a6de2b27 fix formatting 2018-03-31 20:37:48 +02:00
Georg Krause fe77d3ca63 add hint for bpm limits 2018-03-31 15:22:33 +02:00
Georg Krause ac6d1fc4cc add sanity check for bpm value 2018-03-31 15:05:16 +02:00
Georg Krause fe1b68a069 reduce magic numbers on calculating tempo limits 2018-03-31 14:30:24 +02:00
Georg Krause 2c43704b8f set tempo by typing number
Closes #206, thanks @georgkrause for the PR
2018-03-26 20:56:49 +01:00
vale981 3fd73ac58c Space to control special track. (#205)
Space to control special track, this enables you to use an ordinary pc keyboard as foot pedal!

Thanks @vale981, I squashed the two patches as it was a fixup :)
2018-03-26 20:51:10 +01:00
Harry van Haaren 683f80027c jacksendreturn: fix whitespace issues and cleanup
No code functionality changes here

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-03-25 20:49:28 +01:00
Harry van Haaren 5692d5123d looperclip: use [] to access vector not .at()
Optimize away a bunch of bad performance

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-03-25 20:49:28 +01:00
Harry van Haaren bc8e55b036 meson: generate version.hxx on compile
This fixes local builds (re-generates version.hxx if
it gets removed), ninja dist now works correctly too.

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-03-04 02:19:29 +00:00
Harry van Haaren f34a44e775 meson: add tests and option to disable them
This enables building the Luppp unit tests with Meson,
and adds an option to disable building those tests. For
a release, the option should probably be off - although
currently it has no significant impact on the result.

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-03-03 21:43:35 +00:00
Harry van Haaren 48802f14ad meson: add meson build for luppp
This allows easier and faster building, with less
complexity and better defaults than the previoius CMake
based system.

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-02-13 00:15:43 +00:00
Harry van Haaren 097d52757e stately: add virtual destructor to class
Mutes some compiler warnings

Signed-off-by: Harry van Haaren <harryhaaren@gmail.com>
2018-02-12 23:58:26 +00:00
Harry van Haaren be14f4005a midi: allow clearing clip from GenericMIDI binding
This commit allows the user to clear clips from the Luppp grid
with a MIDI message. The binding method is very similar to the
existing "grid:event" style, with added to "action" representing
1 for press, and 0 for release, -1 now represents a "clear" event.

As such, the following binding would clear clip track 1, scene 1,
when midi note number 60 had a note on event. Note that the value
for "send" is also set to -1, indicating it is not a send binding.

Active set to -1 indicates that the clip should be cleared:

{
  "action": "grid:event",
  "status": 144,
  "data":    60,
  "track":    1,
  "scene":    1,
  "send":    -1,
  "active":  -1
}

See Github issue #134
2017-09-29 18:48:16 +01:00
Harry van Haaren 94261743cb options: mute compile warning 2017-09-28 18:08:17 +01:00
Yuri 074df13807 Fixed the conflict of ntk with fltk by moving ntk to the first place in CMakeFile.txt. 2017-09-19 07:59:55 +01:00
Mathias Buhr ca0e50a36a Fixes a potential leak: sampleString not always freed 2017-06-21 21:25:02 +01:00
Mathias Buhr da42a86ad9 Clean up 2017-06-21 21:25:02 +01:00
Mathias Buhr 40d23e1b0d Fix broken waveforms 2017-06-21 21:25:02 +01:00
Mathias Buhr d3de3f0a0a Another one 2017-06-21 21:25:02 +01:00
Mathias Buhr a8741927f8 Removes another leak 2017-06-21 21:25:02 +01:00
Mathias Buhr c322bc83b4 Make label code consistent 2017-06-21 21:25:02 +01:00
Mathias Buhr c5d33f89cd Fixes a few leaks and errors 2017-06-21 21:25:02 +01:00
Harry van Haaren ce55862c41 metronome: reduce default volume (fixes #180)
Thanks CoderKun for reporting
2017-04-17 17:06:00 +01:00
Harry van Haaren 3c2392a66c cmake: update makefiles to not clobber flags vars, fixes #178 2017-04-09 18:47:48 +01:00
Harry van Haaren c0452772a0 fixed possible mem leak in goptions dialog 2017-04-09 18:47:47 +01:00
Harry van Haaren 7f57f1d450 fix possible mem leak if loading a MIDI binding fails 2017-04-09 18:47:47 +01:00
Harry van Haaren bc440df955 implement pan style dials in avtk dial, close #173
Pan style "center is no action" type dial graphic
added, and marking pan dials on each track as such.
2017-04-09 14:23:55 +01:00
Harry van Haaren 22582c8f20 Merge coderkun's array size fixes, close #176 2017-04-09 14:09:33 +01:00
coderkun 07ced711ba Fix loading of pan values (fixes #168) 2017-04-09 13:04:45 +02:00
coderkun ad5a5f1e5b Fix buffer size for saving and loading samples (issue #174) 2017-04-09 12:39:32 +02:00
Harry van Haaren 3b89ee90ef cmake: fix build flags to enable optimized builds on x86_64 2017-03-27 21:37:29 +01:00
Harry van Haaren 504e5bf1a9 restyle trackoutput 2017-03-27 21:15:35 +01:00
Harry van Haaren a2e154a8be restyled looper and looperclip 2017-03-27 21:14:53 +01:00
Harry van Haaren a431ff3868 jack: track numbering to use human-offset
Humans count from 1, so increase the track numbers in the JACK
port names by one, for both the sends/returns and the JACK FX.
2017-03-27 21:10:06 +01:00
Harry van Haaren 08bdc1ff09 restyled code after stereo added 2017-03-27 21:04:30 +01:00
coderkun ed72627245 Fix reading and writing of stereo files 2017-03-27 20:53:03 +01:00
coderkun 6a6431242f Read and write stereo files 2017-03-27 20:53:03 +01:00
coderkun f36e9b6bd0 Fix panning to work with stereo signals 2017-03-27 20:53:03 +01:00
coderkun 9b7cb506d5 Use stereo signal for all channels 2017-03-27 20:53:03 +01:00
coderkun 59b146f052 Use stereo input and stereo audio buffer 2017-03-27 20:53:03 +01:00
Harry van Haaren 6e8687592b fix header guard and cleanup whitespace 2017-03-08 19:22:02 +00:00
Harry van Haaren 96eaa81de6 fix gtrack return value 2017-03-08 19:20:45 +00:00
Harry van Haaren 908bb89878 pan: load and save of value implemented (close #164) 2017-01-09 15:03:56 +00:00
Harry van Haaren 0de1784e8f pan: value saved and restored to dsp 2017-01-09 14:38:19 +00:00
Harry van Haaren fdec6fedbf dsp: pan implemented in trackoutput, event added 2017-01-09 14:11:16 +00:00
Harry van Haaren e8b15b394c fix #163; save file dir parent dir created
Previously when not using NSM, and the project dir ~/luppp/
did not exist, Luppp would fail to save the session as it did
not attempt to create the directory. This patch adds the creating
of the directory if it does not already exist.
2017-01-08 11:29:42 +00:00
Harry van Haaren 394ced7f33 cleanup startup prints and blank lines 2016-12-30 12:30:59 +00:00
Harry van Haaren 01f71ec5e4 astyle: global restyle of codebase (fixes #153)
This to bring common fomatting to the whole project,
including submissions. To format a file to this style:

astyle --style=linux -t8 <file>

Future patches / pull-requests should be in this format.
2016-12-27 13:04:05 +00:00
Harry van Haaren 0020d9a672 fix #125: track volume fader != silence bug fixed
Fixes dsp bug in how the master diff was calculated,
which left some room for error and hence some just-not-silence
levels sneak through the fader.

Increase the calculation threshold to be more sensitive, so
there is now 10x less creep. Testing here proved that it never
bleeds audio anymore
2016-12-20 16:35:44 +00:00
Gerald cd1565d073 Added midi binding capabilities for jack sends and fx button, closes #151 2016-12-04 19:33:23 +00:00
Harry van Haaren 0ed37a4401 Fixes #125; Track faders set to zero on very low volumes 2016-12-04 17:19:09 +00:00
Harry van Haaren 02fb669470 volume: fix mousewheel handling
Mouse scroll events are now consumed by vol faders,
and hence not passed on to the next widget.
2016-11-29 18:48:09 +00:00
Harry van Haaren 4e154b1d11 Merge pull request #143 from geraldmwangi/master
resize luppp_group. Fixes problem with unresponsive lower part of faders.
2016-11-29 18:47:41 +00:00
Gerald 848ea51658 Fixed issue with non responsize lower gui part 2016-11-29 18:31:15 +01:00
Harry van Haaren 917e61a0ac Resolves #136: saveDirectory
This commit is Geralds work, as sent by pull-request
https://github.com/openAVproductions/openAV-Luppp/pull/136
It had to be rebased, so this is a new commit of his changes.
2016-11-27 19:37:03 +00:00
Harry van Haaren c360dad709 Fixed #117 Master Returns now re-enabled 2016-11-26 09:47:12 +00:00
Georg Krause 3a6138a0be removed unused code (fixes #131)
[HvH] I modified this commit - a few changes I didn't like, for
example removing the src/config.hxx debug variables - I know they
are commented, but I use the regularly during development to get
extra prints. So this commit removed some of your changes - just
a note that you're not wondering where the changes went :)

Thanks for the PR!
2016-11-26 09:37:37 +00:00
Harry van Haaren 5c79534df4 Fix compiler warning about \0, use \n instead 2016-11-26 09:19:07 +00:00
Gerald afb7863891 Fixed #96 internal buffer overflow 2016-11-26 09:10:23 +00:00
Harry van Haaren 6440e19c57 Fixes #133 JackSendReturn defualt volume = 1.0f
DSP and GUI level defaults for JackSend are now 1, so when
you click the FX button, by default the audio will be routed
to the send, returned, and audible again. This is better UX.

Fixed 2 build warnings to do with string termination
2016-11-24 23:51:29 +00:00
Harry van Haaren f8d5ccf34d Fixing master output section
Looks better than before, but still not ideal. Perhaps adding
a global (master) FX send to JACK could fill the space?
Or else re-layout the items (labels under dials?) to fill void.
2016-11-24 23:29:41 +00:00
Gerald 7ff4d83bb3 Added metronomeActiveByDefault and metronomeDefaultVolume to the preferences to allow starting luppp with active metronome 2016-11-24 23:15:00 +00:00
Gerald bb91ac0e58 MAJOR change: send/returns are always there. New feature: per track output (optional, use enablePerTrackOutput in luppp.prfs) 2016-11-24 23:15:00 +00:00
Gerald efa6d9054c fixed some glitch issues, glitch on send_track_0 persists :( 2016-11-24 23:15:00 +00:00
Gerald d3048154b0 fixed noise issue on send, glitch remains :( 2016-11-24 23:15:00 +00:00
Gerald 83d36b9e47 Fixed issue with FX button 2016-11-24 23:15:00 +00:00
Gerald 1e07878b5d added callback for jacksend knob 2016-11-24 23:15:00 +00:00
Gerald 4023a50099 implemented events for jack send return 2016-11-24 23:15:00 +00:00
Gerald 10d0d48285 Added controls for send/return to gui (non-functional) 2016-11-24 23:15:00 +00:00
Gerald 8fd3e1e1bf Made per track sends and returns an option 2016-11-24 23:15:00 +00:00
Gerald 28cbe8e638 Added per track sends and returns via JackSendReturn (subclass of AudioProcessor) 2016-11-24 23:15:00 +00:00
Gerald b922e5ebbe Started per track sends/returns 2016-11-24 23:15:00 +00:00
Harry van Haaren 5acf1f33d6 clip save implemented, fixes #121 2016-11-03 20:09:06 +00:00
Harry van Haaren e5e57d7a74 Merge pull request #112 from Teteros/Teteros-patch-1
Add hotkey symbols for en-GB layout, Thanks @Teteros!
2016-09-29 20:00:27 +01:00
Harry van Haaren 84ba2014c9 Removed setBpm() retriggers looper playback
Although this allows loops to go out of sync, I think its more
"musical" than the re-trigger noises of scrubbing the BPM dial...

In short - in a live performance I do not expect musicians to
change tempo in a song - between songs it possible, and then
triggering a scene will bring everything back into sync.

This needs a better solution, but right now I'm not sure how
to best do that. The other changes in the patches that changed
this behaviour are valuable, so commiting to get closer to a
solution - but I'm not comfortable with the retrigger noises.
2016-09-29 19:49:45 +01:00
Gerald 97ae7fbec5 Time observers get reset upon change of jack transport to rolling, fixed issue
with jack transport and bars (bars are 1 based), removed debug code
2016-09-29 19:08:28 +01:00
Gerald 86b309b17f prevent buffer pointers from being pushed when nframes=buffers.nframes
in Jack::processFrames()
2016-09-29 19:08:28 +01:00
Gerald c084601d0e pitchShift add delay even for playSpeed=1.0 !! Fixed by disableing pitchShift
when playSpeed=1.0
2016-09-29 19:08:28 +01:00
Gerald 804bca9135 Loops get retriggered when setting bpm 2016-09-29 19:08:28 +01:00
Gerald eb06f749a5 added lag function to all volume sliders. Suppresses audio jitter at rapid
volume changes
2016-09-29 19:08:28 +01:00
Gerald bc71739b3a Fixed issue with glitches on beats/bars 2016-09-29 19:08:17 +01:00
Teteros 42846cdee3 Add hotkey symbols for en-GB layout
@ and # symbols are replaced by " and £ on UK/Ireland keyboard layouts.
This patch adds those to keep the number row working like on en-US ones.
2016-09-25 22:17:06 +01:00
Harry van Haaren c289c6a997 fix JACK transport state control 2016-09-20 20:10:51 +01:00
Harry van Haaren cfd0dc36d9 Merge branch 'master' of https://github.com/geraldmwangi/openAV-Luppp into jimson 2016-09-20 18:27:18 +01:00
Gerald acbd5169de Fixed Error info on timing 2016-09-20 12:56:44 +02:00
Gerald 883ab99542 Fixed Timing issues in TimeManager. This resolves also an issue related to loading
samples
2016-09-20 12:38:08 +02:00
Harry van Haaren 66bd2899c8 Fixed compilation warnings 2016-09-19 18:35:09 +01:00
Gerald 25560ed160 Fixed the issue: Loosing sync after N Beats, found and fixed issue with
metronome dial (integeger numbers where getting translated to fraktional floats in setBpm()), needs more testing
2016-09-15 14:39:13 +02:00
Harry van Haaren 2531177223 avtk: fixed bug in dial scroll wheel handling
A bug in scroll wheel handling would result in every dial moving
instead of only the one scrolled over: fixed now.
2016-06-26 13:14:19 +01:00
Harry van Haaren 1fedf486d7 metro: fixed bug of using tapif Time isn't running
This quick-fix ensures that when the tap-average is
really slow, that the TimeManager doesn't try to
set it as a BPM value. When Transport is stopped,
the average FPB could be 0, causing nasty things.
2015-12-11 19:48:09 +00:00
Harry van Haaren e6ef26f33d -#106 ARCH check in CMake, removes -msse for arm
This commit adds an architecture check to CMake,
detecting if we're running on x86_64 or not.

If not, disable the sse instructions. This can
be improved to handle i686 and some ARM optimization.
2015-11-22 09:50:26 +00:00
Harry van Haaren 79320c8187 -Fixed #100, mouse scroll on dial working 2015-06-12 21:17:10 +01:00
Harry van Haaren 224af01f25 -Fixed #99, horizontal volume slider issue 2015-06-12 20:56:51 +01:00
Harry van Haaren f7846d238b -Fixed #95, glitch in output. JACK return ports broken in fixing, buffer coping issue. 2014-11-13 01:47:21 +00:00
Harry van Haaren 68bbfdb26d -BPM dial has label (#93), shows BPM as number 2014-09-13 00:27:55 +01:00
Harry van Haaren 8835947f1e -Fixed #76 Metro disable by MIDI mapping 2014-08-30 16:58:53 +01:00
Harry van Haaren d4f74b6c45 Fixed #86, metronome volume. Use right-click 2014-08-30 16:44:09 +01:00
Harry van Haaren d75ca042ec -Removed extra prints 2014-08-30 13:17:13 +01:00
Harry van Haaren 8df3f9d594 -Updated graphics, removed extra header 2014-08-23 15:23:36 +01:00
Harry van Haaren 2af4dd6dcd -Integrated + fixed Clang analysis into buildTest 2014-08-10 22:20:57 +01:00
Harry van Haaren a2fd2d7630 -Icon created & working, added transport.hxx 2014-08-08 23:13:19 +01:00