Skip to content

Commit e0806bb

Browse files
committed
devcode backup
1 parent 794d998 commit e0806bb

17 files changed

+215
-71
lines changed

CHANGELOG.txt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,11 @@
66
1.1
77

88
-- TODO: Add a "CMD mode", where a sequence's non-NOTE commands are held and modified.
9-
---- sub-task: Remove all halfhearted Non-Note compensation from Note commands (as in, data.acceptmidi-related routines), and write new explicitly Non-Note-handling routines.
109
---- sub-task: Add Cmd Mode versions of deleteTickNotes and deleteBeatNotes.
1110
---- sub-task: In Cmd Mode, render item-text after/above cmd-rectangles.
1211
---- sub-task: Show the active sequence's Cmd Mode commands as Shadow Mode notes, with unique coloration, when Cmd Mode isn't active.
1312
---- sub-task: Check whether saveFile and loadFile are truly compatible with non-NOTE commands.
1413

15-
-- TODO: Add full MIDI-IN, for composition via external MIDI devices. Thanks to how Spacing and Play Mode interact with note-entry, there won't need to be any explicit tabbing between input-types.
16-
---- sub-task: debug handling of non-note commands
17-
1814
-- TODO: Add "Select Chan" command, a version of Select-All that only applies to notes in the active seq's active channel.
1915

2016
-- TODO: Add "Quantize" command, which will snap all selected notes in the active sequence to ticks that are multiples of data.spacing.
@@ -25,14 +21,14 @@
2521

2622
-- TODO: Add a simple metronome in Play Mode, and a flag-command to toggle its activity.
2723

28-
-- TODO: Add a visual confirmation of file-save.
29-
3024
-- TODO: comment out console again
3125
-- TODO: remove "debugging" messages
3226
-- TODO: change data.version back to "1.1"
3327

28+
-- Added full MIDI-IN, for composition via external MIDI devices. Due to how Spacing and Play Mode interact with note-entry, there doesn't need to be any explicit tabbing between input-types.
3429
-- Created a two-way MIDI-over-UDP communications system, designed to send MIDI between Sect and user devices, via SectMidiClient.
3530
-- Changed all data-structures and data-handling involved with mode-based interpretation of key-commands.
31+
-- Added a visual confirmation on file-save.
3632
-- Removed old OSC and Extrovert-API code, which was clunky and extraneous.
3733
-- Started rendering a shadow under every note's channel-number.
3834
-- Started clipping the left edges of beat-triangles properly, now that Cmd Mode's GUI visually requires it.

data/data-table.lua

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
local D = {}
33

44
-- VERSIONING VARS --
5-
D.version = "1.1-a23" -- Holds Sect's current version-number
5+
D.version = "1.1-a39" -- Holds Sect's current version-number
66

77
-- LOVE ENGINE VARS --
88
D.updatespeed = 0.01 -- Speed at which to attempt to update program-state
@@ -25,6 +25,9 @@ D.loadnum = 1 -- Iterates through loading-screen cmds
2525

2626
-- SAVEFILE VARS --
2727
D.saveok = false -- Controls whether it's OK to save to data.savepath
28+
D.savemsg = "" -- Current save-popup message
29+
D.savepopup = false -- Toggles whether a save-popup is visible
30+
D.savedegrade = 0 -- Number of draw-updates before save popup vanishes
2831

2932
-- HOTSEAT VARS --
3033
D.activeseat = 1 -- Currently active hotseat-name
@@ -174,7 +177,6 @@ D.acceptmidi = {
174177
patch_change = {4, 4},
175178
key_after_touch = {4, 5},
176179
pitch_wheel_change = {4, 4},
177-
set_tempo = {3, 4},
178180
}
179181

180182
-- Names of keys that start with "l"/"r", which collapse into single keys
@@ -537,8 +539,8 @@ D.cmdgate = {
537539
POINTER_RIGHT = {"entry", "gen", "cmd"},
538540
POINTER_LEFT_BEAT = {"entry", "gen", "cmd"},
539541
POINTER_RIGHT_BEAT = {"entry", "gen", "cmd"},
540-
POINTER_PREV_NOTE = {"entry", "gen", "cmd"},
541-
POINTER_NEXT_NOTE = {"entry", "gen", "cmd"},
542+
POINTER_PREV_NOTE = {"entry", "gen"},
543+
POINTER_NEXT_NOTE = {"entry", "gen"},
542544

543545
X_ZOOM_INC = {"entry", "gen", "cmd"},
544546
X_ZOOM_DEC = {"entry", "gen", "cmd"},
@@ -592,6 +594,7 @@ D.undocmds = {
592594
["generateSeqNotes"] = true,
593595

594596
-- note-funcs.lua
597+
["setCmds"] = true,
595598
["setNotes"] = true,
596599
["moveNotes"] = true,
597600
["insertNote"] = true,
File renamed without changes.

font/candal/Candal.ttf

37.8 KB
Binary file not shown.

font/candal/SIL Open Font License.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Copyright (c) 2011, Vernon Adams ([email protected]),
2+
with Reserved Font Name Candal.
3+
4+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
5+
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
6+
7+
-----------------------------------------------------------
8+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
9+
-----------------------------------------------------------
10+
11+
PREAMBLE
12+
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
13+
14+
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
15+
16+
DEFINITIONS
17+
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
18+
19+
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
20+
21+
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
22+
23+
"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
24+
25+
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
26+
27+
PERMISSION & CONDITIONS
28+
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
29+
30+
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
31+
32+
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
33+
34+
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
35+
36+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
37+
38+
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
39+
40+
TERMINATION
41+
This license becomes null and void if any of the above conditions are not met.
42+
43+
DISCLAIMER
44+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

funcs/file-funcs.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,11 @@ return {
194194
midifile:write(MIDI.score2midi(score))
195195
midifile:close()
196196

197+
-- Toggle the rendering-flag, and set rendering info, for a visual save confirmation
198+
data.savepopup = true
199+
data.savedegrade = 90
200+
data.savemsg = "Saved " .. (#score - 1) .. " track" .. (((#score ~= 2) and "s") or "") .. " to file: " .. saveloc
201+
197202
print("saveFile: saved " .. (#score - 1) .. " sequences to file \"" .. saveloc .. "\"!")
198203

199204
end,

funcs/mouse-funcs.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ return {
138138
for kk, vv in pairs(v) do
139139

140140
-- Get the note's pitch or pitch-equivalent
141-
local pitch = vv.note[data.acceptmidi[vv.note[1]][1]]
141+
local pitch = vv.note[5]
142142

143143
-- If the pitch matches the new-note-position...
144144
if (newnote == pitch) then

funcs/note-funcs.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,14 @@ return {
327327
if (n.note[1] == 'key_after_touch')
328328
or (n.note[1] == 'control_change')
329329
then
330+
330331
n.note[5] = data.cmdbyte2
332+
333+
-- For pitch-bend commands, sum the two byte commands
334+
elseif n.note[1] == 'pitch_wheel_change' then
335+
336+
n.note[4] = (n.note[4] * 128) + data.cmdbyte2
337+
331338
end
332339

333340
setCmds(data.active, {{'insert', data.cmdp, n}}, undo)

funcs/pointer-funcs.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ return {
114114

115115
-- Populate the lower-notes and higher-notes tabs, based on the tick's notes
116116
for k, v in pairs(data.seq[data.active].tick[tick]) do
117-
local pitch = v.note[data.acceptmidi[v.note[1]][1]]
117+
local pitch = v.note[5]
118118
if pitch < note then
119119
table.insert(lower, pitch)
120120
elseif pitch > note then

funcs/select-funcs.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ return {
66
data.selindex = {}
77
for k, v in pairs(data.seldat) do
88
data.selindex[v.tick] = data.selindex[v.tick] or {}
9-
data.selindex[v.tick][v.note[data.acceptmidi[v.note[1]][1]]] = true
9+
data.selindex[v.tick][v.note[5]] = true
1010
end
1111

1212
end,

0 commit comments

Comments
 (0)