Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta 0 5 #68

Merged
merged 57 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
6cfb17b
Refactoring@
Apr 14, 2024
034a446
Adding refactor file
Apr 14, 2024
4c90383
Updating manual
Apr 14, 2024
d88f00c
Fixing bugs with include and typo
subvertnormality Apr 28, 2024
816f3bc
Adding note melody page
subvertnormality Apr 28, 2024
12a6cff
Made progress on the notes page
subvertnormality Apr 28, 2024
cc38e92
Note value velocity and length masks are now visible in UI
subvertnormality Apr 28, 2024
80abe34
Trig masks now work and can be toggled and cleared
subvertnormality Apr 28, 2024
7849ca2
Fixing units
Apr 28, 2024
0c60f2f
Added tests covering trig masks
Apr 28, 2024
49bac67
Adding rest of the mask logic
Apr 28, 2024
cfd1138
Note masks now work as expected
subvertnormality May 1, 2024
020170c
Performance improvements
subvertnormality May 2, 2024
6f72ba0
Started implementing chord masks and micro timing
subvertnormality May 2, 2024
8232151
Making naming case consistent
subvertnormality May 3, 2024
c76ae9f
Chords seems to work as expected, although it needs much more testing
subvertnormality May 3, 2024
db15c52
UI improvements
subvertnormality May 3, 2024
4607bec
Streamlining quantiser
subvertnormality May 3, 2024
a23180b
Finishing simplified scales
subvertnormality May 3, 2024
512ee84
Tidying chord trig locks up
subvertnormality May 3, 2024
b2a74bf
Further streamlining scales
subvertnormality May 4, 2024
b32d8df
Tests all pass
subvertnormality May 4, 2024
35224a9
Elektron song mode sync
subvertnormality May 4, 2024
ad3c536
UI elements no longer wrap horizontally
subvertnormality May 5, 2024
243851d
It's now possible to create note mask locks by using a midi keyboard
subvertnormality May 5, 2024
2c91d9f
Midi keyboard chord locks
subvertnormality May 5, 2024
30fcccb
Fixing tests that were broken due to swapping param values
subvertnormality May 5, 2024
71a01b2
Removing uTime for now
subvertnormality May 5, 2024
df8cce9
Adding digitakt 2 config file
subvertnormality May 5, 2024
12ca92f
Fixing devices and nb devices must be allow listed to prevent crashing
subvertnormality May 5, 2024
4ca1b8c
Needs tests for pentatonic behaviours
subvertnormality May 6, 2024
c286668
Fixing broken tests
May 6, 2024
eb5afe6
Adding pentatonic test
May 6, 2024
79a9c6f
Adding more tests covering pentatonic functionality
May 6, 2024
65b5964
Fixing global scale hold behaviour
subvertnormality May 6, 2024
beecb57
Started manual rework
subvertnormality May 7, 2024
a034b31
More manual updates
May 7, 2024
cab2933
More manual additions
May 7, 2024
3baf73a
Adding more docs
May 8, 2024
153864a
Adding more to the manual
May 8, 2024
78ee72d
Adding more to the manual
May 8, 2024
9608c02
More manual work
subvertnormality May 8, 2024
5ec0671
More manual work
subvertnormality May 9, 2024
4daa3e1
Adding more to the manual
May 9, 2024
b88d6ee
Continuing manual improvements
subvertnormality May 9, 2024
4eb194f
Update README.md
subvertnormality May 9, 2024
3db3776
Continuing to improve manual
subvertnormality May 10, 2024
3f150c2
More manual improvements
May 10, 2024
c1bb188
More manual improvements
May 10, 2024
cc35a88
More manual improvements
May 10, 2024
9f671cb
More manual improvements
May 10, 2024
5967cbe
More manual improvements
May 10, 2024
9cb0d20
More manual improvements
subvertnormality May 13, 2024
7deeb44
Proof read manual
subvertnormality May 13, 2024
19f8aeb
Further improvements
subvertnormality May 13, 2024
44b8a10
More slight edits
subvertnormality May 13, 2024
dace294
Removing old Readme
subvertnormality May 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,22 @@
# 0.4.5 - Candidate beta
# 0.5 - Beta

_Breaking update. Please backup and remove your .pset and .ptn data files from previous versions._

* More bug fixes
* Basic midi control from param trig locks
* New improved manual
* Scale and quantiser have been streamlined, global scale UI simplified
* Note Masks: It's now possible to add and remove trigs to a channel directly from the channel page, overwriting pattern values
* Note Masks: It's possible to set notes, velocities, and lengths, directly from the channel page, overwriting pattern values
* Note Masks: Chords are now editable directly in the channel editor
* Note Masks: Create note mask locks by using a midi keyboard
* It's now possible to sync elektron devices with Mosaic's song mode. Patterns will be selected based on the currently selected Mosaic song pattern
* UI elements no long wrap when selecting horizontally
* Param on/off options are now in a sensible order
* Digitakt 2 config file added
* N.B. note players must now be allow-listed before being loaded to prevent crashes
* Added option to lock all notes to pentatonic versions of each scale
* Added option to lock merged notes to pentatonic versions of each scale - on by default
* Added option to lock random notes to pentatonic versions of each scale - on by default

# 0.4.4

Expand Down Expand Up @@ -97,7 +112,7 @@ _Breaking update. Please backup and remove your .pset and .ptn data files from p

# 0.2.4

* To stop the sequencer you now need to hold down the currently active page's LED in the menu. This prevents accidental stops whilst navigating pages.
* To stop the sequencer you now hold down the currently active page's LED in the menu. This prevents accidental stops whilst navigating pages.
* NB devices now send proper velocities
* Added quantised fixed note trig lock
* Added bipolar random note trig lock
Expand Down
769 changes: 527 additions & 242 deletions README.md

Large diffs are not rendered by default.

26 changes: 20 additions & 6 deletions lib/clock_controller.lua
Original file line number Diff line number Diff line change
Expand Up @@ -105,20 +105,26 @@ function clock_controller.init()
master_clock =
clock_lattice:new_sprocket {
action = function(t)
local selected_sequencer_pattern_number = program.get().selected_sequencer_pattern
local selected_sequencer_pattern = program.get().sequencer_patterns[selected_sequencer_pattern_number]
if params:get("elektron_program_changes") == 2 and program.get().current_step == selected_sequencer_pattern.global_pattern_length - 1 then
step_handler.process_elektron_program_change(step_handler.calculate_next_selected_sequencer_pattern())
end
if first_run ~= true then
step_handler.process_song_sequencer_patterns(program.get().current_step)
local selected_sequencer_pattern_number = program.get().selected_sequencer_pattern
local selected_sequencer_pattern = program.get().sequencer_patterns[selected_sequencer_pattern_number]
if program.get().global_step_accumulator % selected_sequencer_pattern.global_pattern_length == 0 then
for i = 1, 17 do
if (((fn.calc_grid_count(program.get_channel(i).end_trig[1], program.get_channel(i).end_trig[2])
- fn.calc_grid_count(program.get_channel(i).start_trig[1], program.get_channel(i).start_trig[2]) + 1)
> selected_sequencer_pattern.global_pattern_length)) then
program.set_current_step_for_channel(i, 99)
end
if (((fn.calc_grid_count(program.get_channel(i).end_trig[1], program.get_channel(i).end_trig[2])
- fn.calc_grid_count(program.get_channel(i).start_trig[1], program.get_channel(i).start_trig[2]) + 1)
> selected_sequencer_pattern.global_pattern_length)) then
program.set_current_step_for_channel(i, 99)
end
end
end
end


program.get().current_step = program.get().current_step + 1
program.get().global_step_accumulator = program.get().global_step_accumulator + 1
Expand Down Expand Up @@ -218,7 +224,7 @@ function clock_controller.init()
trigless_lock_active[channel_number] = false
step_handler.process_params(channel_number, step)
elseif
params:get("trigless_locks") == 1 and trigless_lock_active[i] ~= true and
params:get("trigless_locks") == 2 and trigless_lock_active[i] ~= true and
program.step_has_param_trig_lock(program.get_channel(channel_number), step)
then
trigless_lock_active[channel_number] = true
Expand Down Expand Up @@ -247,6 +253,10 @@ function clock_controller.set_channel_division(channel_number, division)
clock_controller["channel_" .. channel_number .. "_clock"].end_of_clock_processor:set_division(1 / (division * 4))
end

function clock_controller.get_channel_division(channel_number)
return clock_controller["channel_" .. channel_number .. "_clock"] and clock_controller["channel_" .. channel_number .. "_clock"].division or 0.4
end

function clock_controller.delay_action(c, division_index, multiplier, func)

if division_index == 0 or division_index == nil then
Expand Down Expand Up @@ -275,6 +285,10 @@ end

function clock_controller:start()
first_run = true
if params:get("elektron_program_changes") == 2 then
step_handler.process_elektron_program_change(program.get().selected_sequencer_pattern)
end

clock_controller.set_playing()

midi_controller.start()
Expand Down
Loading
Loading