mirror of https://github.com/espruino/BangleApps
rep: add recorder functionality
parent
7b760ae803
commit
98597073ef
|
@ -7,6 +7,7 @@ You can rewind, fast-forward and play/pause with the control buttons.
|
|||
|
||||
# Todo
|
||||
|
||||
- [ ] Recorder functionality
|
||||
- [X] Recorder functionality
|
||||
- [ ] Recorder toggle functionality
|
||||
- [ ] Fastload: scoping, unregister layout handlers etc
|
||||
- [ ] Swipe handlers as well as "<<" / ">>" buttons
|
||||
|
|
|
@ -246,8 +246,20 @@
|
|||
};
|
||||
buzz();
|
||||
};
|
||||
var init = function () {
|
||||
g.clear();
|
||||
drawRep_1();
|
||||
Bangle.drawWidgets();
|
||||
};
|
||||
Bangle.loadWidgets();
|
||||
g.clear();
|
||||
drawRep_1();
|
||||
Bangle.drawWidgets();
|
||||
if (settings.record && WIDGETS["recorder"]) {
|
||||
WIDGETS["recorder"]
|
||||
.setRecording(true)
|
||||
.then(init);
|
||||
if (settings.recordStopOnExit)
|
||||
E.on('kill', function () { return WIDGETS["recorder"].setRecording(false); });
|
||||
}
|
||||
else {
|
||||
init();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
type RepSettings = {
|
||||
record: boolean,
|
||||
recordStopOnExit: boolean,
|
||||
stepMs: number,
|
||||
};
|
||||
|
||||
|
@ -308,10 +310,23 @@ const buzzNewRep = () => {
|
|||
buzz();
|
||||
};
|
||||
|
||||
const init = () => {
|
||||
g.clear();
|
||||
drawRep();
|
||||
|
||||
Bangle.drawWidgets();
|
||||
};
|
||||
|
||||
Bangle.loadWidgets();
|
||||
if (settings.record && WIDGETS["recorder"]) {
|
||||
(WIDGETS["recorder"] as RecorderWidget)
|
||||
.setRecording(true)
|
||||
.then(init);
|
||||
|
||||
if (settings.recordStopOnExit)
|
||||
E.on('kill', () => (WIDGETS["recorder"] as RecorderWidget).setRecording(false));
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
|
||||
g.clear();
|
||||
drawRep();
|
||||
|
||||
Bangle.drawWidgets();
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
const storage = require("Storage")
|
||||
const settings = (storage.readJSON(SETTINGS_FILE, true) || {}) as RepSettings;
|
||||
settings.record ??= false;
|
||||
settings.recordStopOnExit ??= false;
|
||||
settings.stepMs ??= 5 * 1000;
|
||||
|
||||
const save = () => {
|
||||
|
@ -25,5 +27,22 @@
|
|||
},
|
||||
};
|
||||
|
||||
if (global["WIDGETS"] && WIDGETS["recorder"]) {
|
||||
menu[/*LANG*/"Record activity"] = {
|
||||
value: !!settings.record,
|
||||
onchange: (v: boolean) => {
|
||||
settings.record = v;
|
||||
save();
|
||||
}
|
||||
};
|
||||
menu[/*LANG*/"Stop record on exit"] = {
|
||||
value: !!settings.recordStopOnExit,
|
||||
onchange: (v: boolean) => {
|
||||
settings.recordStopOnExit = v;
|
||||
save();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
E.showMenu(menu);
|
||||
}) satisfies SettingsFunc
|
||||
|
|
Loading…
Reference in New Issue