Skip to content

Commit cec21e0

Browse files
committed
version 2.0.2
add folder precedence in file explorer setting, fix ramona visualizer, other teeny tiny fixes
1 parent 5d60d53 commit cec21e0

File tree

6 files changed

+31
-15
lines changed

6 files changed

+31
-15
lines changed

MANUAL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ In the system menu, you can also access and change CS-16 settings, such as dark
154154
- `general/`
155155
- `author` (text value, default anonymous)
156156
- `output` (audio output. can be auto, speaker, headset, or speaker and headset)
157-
- `crank speed`
157+
- `crank speed` (crank sensitivity)
158+
- `folders > files` (folders should precede files in the file explorer)
158159
- `credits`
159160
- `behavior/`
160161
- `play on load` (play pattern immediately on song load)
@@ -227,4 +228,4 @@ All of these are things you can do to improve CS-16's performance and reduce fra
227228

228229
I have a few custom visualizers in this repository under `visualizers` (and maybe you'll find another one on the internet somewhere??? idk haha). To import these into CS-16, check out the visualizer `building / importing` section in the [DEV document](DEV.md).
229230

230-
> note: by default, imported visualizers are disabled. head to `settings / ui / visualizers` to enable them.
231+
> note: by default, imported visualizers are disabled. head to `settings / ui / visualizers` to enable them.

src/pdxinfo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ name=CS-16
22
author=nanobot567
33
description=cranky synth 16: a 16-track synthesizer/sampler for playdate.
44
bundleID=com.nano.cs16
5-
version=2.0
6-
buildNumber=4587
5+
version=2.0.2
6+
buildNumber=4624
77
imagePath=SystemAssets/

src/setup.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ settings = {
3232
["screenAnimation"] = true,
3333
["logscreens"] = true,
3434
["fxvfx"] = false,
35-
["crankDockedScreen"] = "pattern"
35+
["crankDockedScreen"] = "pattern",
36+
["foldersPrecedeFiles"] = true
3637
}
3738
settings = loadSettings()
3839
saveSettings()

src/ui/screens/filepicker.lua

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ function filePicker.open(callback, mode)
4545
filePicker.oldUpdate = pd.update
4646
pd.update = filePicker.update
4747

48-
filePickList:set(filePicker.modifyDirContents(pd.file.listFiles(currentPath)))
49-
filePickList:setSelectedRow(1)
50-
filePickList:scrollToRow(1)
48+
filePicker.updateFiles()
5149
end
5250

5351
function filePicker.update(force)
@@ -262,6 +260,16 @@ function filePicker.modifyDirContents(val)
262260
val[i] = string.normalize(val[i])
263261
end
264262

263+
if settings["foldersPrecedeFiles"] then
264+
local tempVal = table.shallowcopy(val)
265+
266+
for i = #tempVal, 1, -1 do
267+
if string.sub(tempVal[i], #tempVal[i] - 5) ~= "(song)" then
268+
table.insert(val, 1, table.remove(val, table.indexOfElement(val, tempVal[i])))
269+
end
270+
end
271+
end
272+
265273
if currentPath ~= "/" then
266274
table.insert(val, 1, "*Ā*")
267275
elseif filePicker.mode ~= "song" then

src/ui/screens/settings.lua

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ function settingsScreen.rightButtonDown()
113113
settingsScreen.updateOutputs()
114114
elseif row == 4 and settingsScreen.subMenu == "general/" then
115115
settings["cranksens"] = table.cycle(crankSensList, settings["cranksens"])
116-
elseif row == 6 and settingsScreen.subMenu == "behavior/" then
116+
elseif row == 5 and settingsScreen.subMenu == "behavior/" then
117117
settings["crankDockedScreen"] = table.cycle(crankDockList, settings["crankDockedScreen"])
118118
end
119119
settingsScreen.updateSettings()
@@ -188,7 +188,7 @@ function settingsScreen.AButtonDown()
188188
elseif row == 10 then
189189
if settings["50fps"] == false then
190190
messageBox.open(
191-
"\n\nwarning!\n\nrunning cs-16 at 50fps will reduce your battery life, but improve performance.\n\nare you sure you want to enable this?\n\na = yes, b = no",
191+
"warning!\n\nrunning cs-16 at 50fps will reduce your battery life, but improve performance.\n\nare you sure you want to enable this?\n\na = yes, b = no",
192192
function(ans)
193193
if ans == "yes" then
194194
settings["50fps"] = not settings["50fps"]
@@ -219,8 +219,6 @@ function settingsScreen.AButtonDown()
219219
elseif row == 4 then
220220
settings["stopontempo"] = not settings["stopontempo"]
221221
elseif row == 5 then
222-
settings["savewavs"] = not settings["savewavs"]
223-
elseif row == 6 then
224222
settings["crankDockedScreen"] = table.cycle(crankDockList, settings["crankDockedScreen"])
225223
end
226224
elseif settingsScreen.subMenu == "recording/" then
@@ -272,13 +270,17 @@ function settingsScreen.AButtonDown()
272270
elseif row == 4 then
273271
settings["cranksens"] = table.cycle(crankSensList, settings["cranksens"])
274272
elseif row == 5 then
273+
settings["foldersPrecedeFiles"] = not settings["foldersPrecedeFiles"]
274+
elseif row == 6 then
275275
creditsScreen.open()
276276
end
277277
elseif settingsScreen.subMenu == "sampling/" then
278278
if row == 2 then
279279
settings["sample16bit"] = not settings["sample16bit"]
280280
elseif row == 3 then
281281
settings["saveWaveforms"] = not settings["saveWaveforms"]
282+
elseif row == 4 then
283+
settings["savewavs"] = not settings["savewavs"]
282284
end
283285
end
284286
end
@@ -306,6 +308,7 @@ function settingsScreen.updateSettings()
306308
"author: " .. settings["author"],
307309
"output: " .. outputText,
308310
"crank speed: " .. settings["cranksens"],
311+
"folders > files: " .. tostring(settings["foldersPrecedeFiles"]),
309312
"credits..."
310313
})
311314
elseif settingsScreen.subMenu == "behavior/" then
@@ -322,7 +325,6 @@ function settingsScreen.updateSettings()
322325
"play on load: " .. tostring(settings["playonload"]),
323326
"stop if sampling: " .. tostring(settings["stoponsample"]),
324327
"tempo edit stop: " .. tostring(settings["stopontempo"]),
325-
"save .wav samples: " .. tostring(settings["savewavs"]),
326328
"crank dock screen: " .. tostring(screen)
327329
})
328330
elseif settingsScreen.subMenu == "recording/" then
@@ -344,7 +346,8 @@ function settingsScreen.updateSettings()
344346
settingsList:set({
345347
"*Ā*",
346348
"sample format: " .. format,
347-
"save waveforms: " .. tostring(settings["saveWaveforms"])
349+
"save waveforms: " .. tostring(settings["saveWaveforms"]),
350+
"save .wav samples: " .. tostring(settings["savewavs"])
348351
})
349352
elseif settingsScreen.subMenu == "ui/" then
350353
settingsList:set({

visualizers/ramona/ramona.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,12 @@ local function ramonaUpdate(data)
6969

7070
if data.settings["dark"] then
7171
gfx.setColor(gfx.kColorBlack)
72-
gfx.fillRect(0, drawHeight, ramonaWidth, ramonaHeight)
72+
else
73+
gfx.setColor(gfx.kColorWhite)
7374
end
7475

76+
gfx.fillRect(0, drawHeight, ramonaWidth, ramonaHeight)
77+
7578
gfx.setImageDrawMode(gfx.kDrawModeNXOR)
7679
if animateCheck1(data) then
7780
ramona_closed2:draw(0, drawHeight)

0 commit comments

Comments
 (0)