Commit Graph

3567 Commits

Author SHA1 Message Date
Tobias Doerffel
3a3cbe4f4e Merge pull request #830 from tresf/stable-1.1
Updated logo for NSIS installer
2014-06-11 14:08:17 +02:00
Vesa V
77a919d24c Merge pull request #833 from diizy/stable-1.1
LB302: further fixes
2014-06-10 09:05:34 +03:00
Vesa
9af0d7af93 LB302: further fixes
- My earlier fixes caused some new issues, now I'm fixing them, this time I'm pretty sure there won't be anything I missed
2014-06-10 09:02:20 +03:00
Tres Finocchiaro
045353735f Updated logo for NSIS installer 2014-06-09 11:12:01 -04:00
Tobias Doerffel
5fdc8e63d9 Merge pull request #819 from diizy/mixeriph2
Ensure that NotePlayHandles get processed before the InstrumentPlayHandl...
2014-06-09 13:43:51 +02:00
Tobias Doerffel
82720472c9 Merge pull request #820 from diizy/lb302fix
LB302: Fix playback bugs (sticking pitch), add bandlimited waves
2014-06-09 13:42:25 +02: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
ca29057d54 Merge pull request #829 from ycollet/update_fr_1.1
Update fr for stable-1.1
2014-06-09 13:40:25 +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
Yann Collette
72e194044d update fr translation 2014-06-09 11:08:26 +02:00
Vesa V
bf824f2a60 Merge pull request #825 from diizy/qbrush
Use QBrush instead of QColor on some theme properties
2014-06-08 18:18:08 +03: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
40407f6ce6 LB302: Fix playback bugs (sticking pitch), add bandlimited waves 2014-06-07 14:39:45 +03:00
Vesa
bad08a2632 Ensure that NotePlayHandles get processed before the InstrumentPlayHandle on instruments that use both NotePlayHandles and InstrumentPlayHandle, such as LB302 and SF2-Player
Issue: Currently, we use threads to process all PlayHandles, so there's no guarantee of the order they are processed in. This causes timing inaccuracy and jitter: notes of instruments that use both NPH's and IPH's can get randomly delayed by one entire period.
The issue is solved thusly:
- When processing an IPH, we check if the instrument is midi-based. If yes, we just process it normally (no NPH's to worry about).
- If it's not, then it also uses NPH's, so we'll have the IPH wait until all NPH's belonging to same instrument have been processed. There's some similar code in the new FX mixer, I pretty much just copied how we do it there.
2014-06-06 14:24:51 +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
Tobias Doerffel
dba1e75a53 Merge pull request #808 from tresf/stable-1.1
SF2/VST Title Fixes, Export Dialog Fixes
2014-06-06 00:07:54 +02:00
Tres Finocchiaro
922ab25217 Fast forward vesa's sample-accurate changes 2014-06-04 09:03:19 -04:00
Tres Finocchiaro
e06759d0d8 Formatting fixes 2014-06-04 08:58:06 -04:00
tresf
7a03353fb6 Export dialog append wav/ogg #764 w/ #779 recommendations 2014-06-04 08:55:30 -04:00
tresf
f42196315c SF2/VST title rename #462 w/ #774 recommendations 2014-06-04 08:52:12 -04:00
Tobias Doerffel
ab493ea27f Merge pull request #804 from diizy/midioffset
Make MIDI timing sample-accurate
2014-06-04 09:35:11 +02:00
Tobias Doerffel
96da8717f3 Merge pull request #802 from zonkmachine/random-wave-icon
Random wave icon
2014-06-04 09:34:06 +02: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
Oskar Wallgren
a61d0284f2 Fix Instrument LFO, random wave icon 2014-06-02 04:01:27 +02:00
Tobias Doerffel
b28e995316 Merge pull request #797 from softrabbit/issue780
Issue780
2014-06-01 10:09:54 +02:00
Raine M. Ekman
f0556cbc3b InstrumentTrack: Fix issue #780 by showing the m_pitchRangeSpinBox too, in case it's been hidden. 2014-05-31 20:41:50 +03:00
Tobias Doerffel
a2e61a7a08 Merge pull request #789 from diizy/pianoroll
PianoRoll: CSS stylability, mousewheel improvements
2014-05-31 15:12:07 +02:00
Tobias Doerffel
146ae64342 Merge pull request #792 from diizy/autoeditor
AutomationEditor: improve zoom, CSS
2014-05-31 12:46:43 +02:00
Vesa
3a1e447d7b PianoRoll: wheelevent improvements, similar to AutomationEditor
- ctrl+alt+wheel changes q (as in auto)
- ctrl+shift+wheel changes note length
- changed note lock functionality slightly, it no longer changes itself to 1/16 because this would cause annoying infinite scrolling with the wheel, instead it just acts like 1/16 when notelength is last note
2014-05-31 07:06:58 +03:00
Vesa
7a19654ab9 AutomationEditor - fix previous 2014-05-31 04:05:58 +03:00
Vesa
310ac28009 AutomationEditor: CSS stylability 2014-05-31 03:32:55 +03:00
Vesa
5652043185 AutomationEditor: improve zoom functionality
- entire wheelevent code was written very... weirdly, I simplified it
- fix bug with x zoom with mousewheel, no more getting stuck between 25/50
- ctrl+shift+mousewheel now zooms y-axis
- ctrl+alt+mousewheel now changes quantization
2014-05-31 01:47:59 +03:00
Vesa
f43678cbae PianoRoll: CSS stylability
Most parts of piano roll are now stylable:
- background color
- note color
- bar color (for volume bars)
- grid color
2014-05-30 23:00:20 +03:00
Tobias Doerffel
a309ba077c Bumped version number to 1.0.91
We can now distinguish between the new stable 1.1 branch and the master branch.
2014-05-30 15:24:07 +02:00
Tobias Doerffel
ef0ccb4094 Merge pull request #778 from diizy/pianoroll
PianoRoll: Note Quick Resize
2014-05-30 15:15:28 +02:00
Tobias Doerffel
b170ab18f6 Merge pull request #787 from diizy/master
FxMixerView: fix crash when loading project while selected channel != 0
2014-05-30 15:11:29 +02:00
Vesa
51194453f1 FxMixerView: fix crash when loading project while selected channel != 0
Fixes #782
2014-05-30 08:19:54 +03:00
Vesa V
6dfd6de8d2 Merge pull request #785 from diizy/nes
Nes updates
2014-05-29 22:59:37 +03:00
Vesa
8bb5733ee5 Nes: Fix previous - forgot to add new models to load/save funcs 2014-05-29 22:57:14 +03:00
Vesa
50c5b0db03 Nes: added pitch sweep for noise channel, freq.quantize mode (constrain frequencies to preset values when using note frequency)
Also added a handful of neat presets that mimick Nes sound effects
2014-05-29 22:48:13 +03:00
Vesa V
fe88806bd5 Merge pull request #784 from diizy/nes
Nes: implement vibrato, also: make main pitch update at 60hz frequency r...
2014-05-29 19:36:48 +03:00
Vesa
19d105dc86 Nes: implement vibrato, also: make main pitch update at 60hz frequency regardless of period size or samplerate (guarantees consistency in sound for combined pitch sweep + pitch automation) 2014-05-29 19:32:22 +03:00
Vesa
adea08d5b9 PianoRoll: Note Quick Resize
Basically, this works as such:
- if you click shift *after* starting a note move OR after creating a new note, the note move action is switched into resize mode, so you can quickly resize the note you just created, or the note you just moved. This saves time and improves workflow - at least based on my own experience: I've always wished I could do this, this is a huge time saving when you want to quickly jot down notes of differing lengths.
- if shift is already pressed when you click, the above will not happen, because that would mess with the note copy function. Copying notes with shift-dragging works the same as before.
- note test playback is halted when you click shift while moving. This is purely because it was causing some crackling noise, probably because of the changing length of a note that is currently playing. Maybe that can be fixed later, although it's arguably better not to hear the note while resizing - it's consistent with the other resize.
- works on group of notes as well, if you start moving a group of notes and then click shift, it will go into resize. Exception is notes copied with shift-drag... for obvious reasons.
- that should be all. Testing appreciated.
2014-05-28 03:38:59 +03:00
Vesa V
957aed4b80 Merge pull request #773 from diizy/master
NES: fix dc offset and distortion
2014-05-26 18:04:13 +03:00
Vesa
6e516a358c NES: fix dc offset and distortion 2014-05-26 18:02:55 +03:00
Tobias Doerffel
1567bd8d09 Merge pull request #752 from tresf/master
Drag-and-drop support for VST, SF2
2014-05-26 10:28:44 +02:00
Tobias Doerffel
c3af25e54a Merge pull request #758 from grejppi/master-samplebuffer
SampleBuffer: fix amplification
2014-05-26 10:26:59 +02:00
Tobias Doerffel
54531f5144 Merge pull request #761 from zonkmachine/random-wave-2
Random wave for instrument plugin LFO
2014-05-26 10:26:09 +02:00
Tobias Doerffel
3d61b6df9e Merge pull request #768 from diizy/master
FxMixerView: prevent mixer from being loaded with improper send buttons ...
2014-05-26 10:25:18 +02:00