Commit Graph

1890 Commits

Author SHA1 Message Date
Vesa V
4a0c78387e Merge pull request #1060 from diizy/midifix
Fix autodetect of midicontroller
2014-08-07 11:38:10 +03:00
Vesa
a138b71ab5 Fix autodetect of midicontroller
Fix #999
2014-08-07 11:36:28 +03:00
Vesa V
04a3806e23 Merge pull request #1029 from diizy/stable-1.1
AFP improvements
2014-07-26 16:27:15 +03:00
Vesa
9562f68277 AFP improvements
- Stop pointlessly reloading the sample everytime the amp knob is changed
- Also draw the amplitude of the waveform correctly (used to be it was drawn as 2x too "quiet")
2014-07-26 16:25:01 +03:00
Vesa V
ea50d7c011 Merge pull request #1028 from diizy/stable-1.1
Change redo shortcut from ctrl-r to ctrl-y
2014-07-26 14:47:57 +03:00
Vesa
37fa46792a Change redo shortcut from ctrl-r to ctrl-y
Ctrl-y is more standard and used in many applications, ctrl-r is used pretty much nowhere.
2014-07-26 14:46:30 +03:00
Hannu Haahti
be2e235c7a configManager: save config every time recent project list is updated
fixes #1014
2014-07-25 10:42:50 +03:00
Vesa
cf3862ec5c Fix bbtrack undo/redo bug
Fix #790
2014-07-23 12:29:45 +03:00
Vesa
dacb8adc4c Add "clear track" option, fix copying of tracks from song ed -> bb ed
- Tracks copied from song->bb will no longer be unusable
- Since doing this required creating a "delete TCOs from track" function, I also added the option to trackops menu to clear a track
Fix #757
2014-07-18 11:18:10 +03:00
Vesa V
d014c2bb2e Merge pull request #997 from diizy/mixer-opt2
Improve performance of effect processing, fix autoquit bugs
2014-07-17 02:01:53 +03:00
Vesa
1a2351bbd0 Improve performance of effect processing, fix autoquit bugs
Also a slight NPH tweak
2014-07-17 01:48:24 +03:00
Tobias Doerffel
7b279d3f85 Pattern: add undo/redo support for "Clear all notes" operation in context menu
Simply add a journal checkpoint before clearing pattern.
2014-07-16 23:46:47 +02:00
Vesa
5ed8f70633 Mixer: optimize peak value measuring functions 2014-07-14 21:49:34 +03:00
Vesa
8a35a57efa InstrumentSoundShaping: ensure that release time is never longer than the volume envelope, if volume envelope is active
This saves CPU on certain instruments, like Monstro.
There's no point in running the note beyond the end of the volume envelope, ever, so let's not do that.
2014-07-14 18:17:02 +03:00
Vesa
d4e30d5ff8 Add safeguard for beat pattern wheelevent
Fix #963
2014-07-14 00:37:43 +03:00
Vesa
e06c281132 Sanitize master output
Replace any inf/nan in master output with zero, to prevent corrupted files/audio.
2014-07-13 22:11:17 +03:00
Vesa
4855634bf4 ProjectJournal: cap the number of undo states to prevent infinite memory buildup
The cap is hardcoded to 100 for now, TODO: make this number configurable (or even better: use a max. memory amount instead of max number of states)
2014-07-10 14:22:40 +03:00
Tres Finocchiaro
27b7d36181 Prevent changing vertical size on fx mixer 2014-07-08 12:43:52 -04:00
Vesa
06b47a52a2 Fix styling of textFloat & whatsthis, make text floats consistent in style with tooltips
Should fix #925
2014-07-03 14:09:31 +03:00
Vesa
ec495716f4 Trailing spaces 2014-06-30 13:04:48 +03:00
Vesa
fe3c5a9aa4 Use channel -1 for GUI-generated MIDI events, fixes #807 2014-06-29 10:19:28 +03:00
Vesa
0058b1064f Update channel send model names properly 2014-06-28 10:06:52 +03:00
Vesa
9243d94484 Fix qstring arg 2014-06-27 23:17:21 +03:00
Vesa
d9d085d14e FxMixer: rewrite mixer routing 2014-06-27 18:21:18 +03:00
Vesa
a463594bb2 FxMixerView, FxLine: graphics & layout fixes 2014-06-24 21:07:15 +03:00
Tobias Doerffel
1287aec800 Merge pull request #875 from diizy/logs
Logscale models: fix all issues and finalize the implementation
2014-06-21 23:43:05 +02:00
Tobias Doerffel
6d8890b4ff Merge remote-tracking branch 'origin/stable-1.0' into stable-1.1 2014-06-21 23:29:32 +02:00
Vesa
f7042977a9 Logscale: Fix negative ranges
This fixes errors that happen on models that have both logarithmic scale and a range that goes to the negative.
2014-06-21 10:56:28 +03:00
Vesa
14909bdf1b Log scales finalized 2014-06-20 22:46:10 +03:00
Vesa
83cc446807 FxMixerView: fix disappearing effects 2014-06-19 22:17:59 +03:00
Vesa
4bcbb1abcc FxMixer GUI updates: code 2014-06-19 17:59:37 +03:00
Vesa
0237da44b5 ... somehow didn't notice the already existing engine::mixer()->lock() there... 2014-06-19 00:38:48 +03:00
Vesa
0f03219c93 Fix stuck notes on notestacking
Fixes #865. Added a check so we don't add subnotes to a note that is already released (can happen with very short midinotes, eg. sliding the mouse accross the gui piano).
I also added a mutex to incoming midievent handling in instrumenttrack. Not sure if strictly necessary, but seems like this would prevent problems in the long run.
Also fixed a glitch in noteplayhandle where silent master notes got stuck playing indefinitely ( isMasternote() returns true even if the nph just hadChildren, so it never gets ended if it did - instead we check if we still have subnotes).
2014-06-19 00:30:48 +03:00
Tobias Doerffel
3ab6a7ac0f Merge pull request #846 from diizy/stable-1.1
FxMixer: Fix channel delete and other bugs
2014-06-15 23:31:02 +02:00
Vesa
ad1c6957b0 AutomatableModel: prevent linking of model to itself
There's no need to ever link a model to itself, allowing it can cause weird issues and crashes, plus it's easy to do by accident if you start a ctrl-drag and end it while still on the same widget
2014-06-14 18:36:17 +03:00
Vesa
e733042cdb FxMixer: clearChannel had the same erroneous for loop as deleteChannel 2014-06-14 17:42:00 +03:00
Vesa
24bf336bf8 FxMixer: fix crashes on modifying sends
Added a mutex so that the GUI thread can't change the sends around during the rendering loop.
2014-06-14 14:53:22 +03:00
Vesa
3319380cf6 FxMixer: Fix channel delete 2014-06-14 14:37:27 +03:00
Vesa
9c584778d2 5th: fix #563 - do not destroy IPH's on "All Notes Off" MIDI commands 2014-06-14 14:37:07 +03:00
Vesa
d1eb9886fd Make that 4: Fix stuck midi notes on changing master pitch 2014-06-14 14:37:07 +03:00
Vesa
3f19478b87 Further safeguards needed... 2014-06-14 14:37:07 +03:00
Vesa
a172783cd0 3-in-1 bugfix special
Fixes bugs: #568, #289 and the incorrect timing for midi-noteoffs (see mailing list)
2014-06-14 14:37:07 +03:00
Tobias Doerffel
019c438668 Merge pull request #817 from diizy/bbtrack-ui
Make BB-tracks themeable
2014-06-09 13:41:55 +02:00
Tobias Doerffel
dc9804f7b6 Merge pull request #823 from diizy/automation
Fix drag/drop for automation patterns
2014-06-09 13:38:31 +02:00
Vesa
2fa7892542 Use QBrush instead of QColor on some theme properties
Apparently, we can use QBrush -typed properties in the CSS. This just never occured to me before!
So, this has several benefits. A QColor property only allows a singular RGB value, but a QBrush allows the same plus also qgradients, RGBA-colours and maybe even bitmap patterns. So I'm changing some properties to QBrush, where it makes sense to allow this additional functionality - no need to enable it for simple things like text colours or such.

- Song editor background: instead of the earlier hack with 7 qproperties just to set a limited background gradient, we can use only 2 properties and allow much more flexibility with Qt's own qgradient syntax
- Automation editor: background, graph colour, and the sidebar colour - @musikBear recently complained not seeing the grid through the graph, so transparency can help there, and qlineargradients in the graph can produce very cool visual effects. Grid is pointless to change, it should stay single-colour for now.
- Piano roll: here, I only made the background use QBrush - we don't really have much else here that can utilize QBrush, the notes have their own gradient system... maybe the 2nd colour of the note gradient could be customizable though.

There are probably more places where this change makes sense...
2014-06-08 18:06:09 +03:00
Vesa
9cc3344756 Fix drag/drop for automation patterns
There was some apparently legacy code that was entirely unnecessary and interfering with model drops.
Closes #814
2014-06-08 12:28:43 +03:00
Vesa
910f89a5d3 Make BB-tracks themeable
- This allows defining a default colour for BB-track patterns in the CSS
- The default colour is used for all bb-patterns which don't have a custom colour set by the user: in other words, the colour of a pattern can be any rgb-value OR "style colour"
- By default, all created bb-patterns use the style colour
- You can also reset colourized patterns to use style colour again
- Backwards compatibility: old projects will be loaded so that any pattern using either of the old default colours will be converted to use style colour

TODO: add a settings option that can disable custom colours (ie. always use style colour), and/or an option to reset all patterns in a project to style colour. This is needed, since themes can now change the song editor background, which can lead to unfortunate colour combinations with custom colours...
2014-06-06 11:06:12 +03:00
tresf
7a03353fb6 Export dialog append wav/ogg #764 w/ #779 recommendations 2014-06-04 08:55:30 -04:00
Vesa
06be5bba82 Make MIDI timing sample-accurate
- currently only affects Vestige
- no idea whether this can also be used for Zyn and OpulenZ, I'm not sure if Zyn has any kind of mechanism for communicating frame offset to the synth, as for OpulenZ, @softrabbit would know the answer better
- basically, I made it happen by simply adding an extra parameter in the processMidi{In|Out} functions, which is 0 by default, and made the necessary changes in instrumentTrack and nph to utilize it
- I based this against 1.1 because I didn't think it's a very big change, and I don't see much possibility for things going wrong here, since we're basically just using the existing functionality in Vestige (there already was a frame offset being communicated to the remote plugin, just that it was always set to 0). However, if @tobydox thinks this is better to bump up to 1.2, I can rebase it for master...
2014-06-04 04:23:16 +03:00
Tobias Doerffel
b28e995316 Merge pull request #797 from softrabbit/issue780
Issue780
2014-06-01 10:09:54 +02:00