Given ModeSequencer its own thread, an Array
which holds all SequencerPlayer objects that need
to be playing, and a function that modifies this array
and starts/stops the thread when needed.
Got sequences running from a single thread within
ModeSequence. Seem to have got rid of the need
for the timeIntervalDecimalOffset stuff with the new
implementation. Only tested running a single seq though,
and just needs a lot more testing in general.
Tidied up code from changes I made within the last commit.
Added a CriticalSection object for the MIDI stuff
within Sequencer Player. This is to help prevent
hanging MIDI notes, however I've noticed that Logic
is pretty crap at handling that compared to other
DAWs anyway.
Changed the function to get the current time when
a sequencer first starts.
Set it so that if you click on the currently selected
pad again it will change the settings view.
Set the piano to be greyed out if a MIDI Mode
pad has a its note status set to off.
Fixed a couple of bugs resulting from the last 2 commits.
Merge branch 'feat_sequencer_single_thread'
Changed the way in which the sequencer playhead is repainted/updated.
This has reduced the CPU usage by over 10%.
Fixed some typos within the last commit.
Set the sequencer playhead to not be displayed
when the currently selected sequencer pad is
not playing.
Rearranged the processSequence() function slightly
so that the if statement that determines if the sequence
needs to stop is now checked at the beginning instead of
the end. This improves the display of the playhead in
certain situations.
Fixed a bug within the cycle pad behaviour where
emulating pad presses via the interface would
cause the sequence number to jump by 2.
Updated translation stuff.
Changed the way in which the global clock is run and kept in time,
to the same as how the new single sequencer thread is run.
Set up AlphaLive to be translated into Korean.
This needs to be tested though.
Also added an empty Korean translation file.