mmcwilliams
39301f5b59
FOUND THE BUG causing #3 . Mscript still needs full conversion to typescript. This would have been caught on compile. Resolves #3 , create a new issue for mscript refactor.
2019-05-28 09:06:59 -04:00
mmcwilliams
ab8d7f57e9
Add a mocha-style test for mscript, related to issue #3
2019-05-28 09:02:55 -04:00
mmcwilliams
abaeb1cbda
Update loop progress styles
2019-04-27 22:28:23 -04:00
mmcwilliams
e15d03a536
Semicolon
2019-04-20 19:52:26 -04:00
mmcwilliams
ad558608ee
All remaining dual projector, dual camera work.
2019-04-20 10:15:28 -04:00
mmcwilliams
1a612376cb
Grid works for dual projectors. cam needs to be examined.
2019-04-20 10:15:01 -04:00
mmcwilliams
a241ef0a2a
Update config
2019-04-20 10:14:22 -04:00
mmcwilliams
687e1887ee
Grid is reasonably functional with dual projectors.
2019-04-19 22:55:57 -04:00
mmcwilliams
5e0947d343
As much as I could do. Still doesn't work. Last commit.
2019-04-18 21:58:11 -04:00
mmcwilliams
88e470c5ac
Installed
2019-04-16 14:36:55 -04:00
mmcw-dev
bb2bfabf9c
2
2019-04-16 10:01:54 -04:00
mmcw-dev
b33ef36ab4
Work on multiple device UI
2019-04-16 10:01:42 -04:00
mmcw-dev
ed14564de7
Fix issue of false positives on detecting second cmaeras and projectors
2019-04-15 16:15:34 -04:00
mmcw-dev
9603f82c49
Use mocha for testing, instead of qunit
2019-04-15 16:14:07 -04:00
mmcw-dev
52aac3f8b0
Settings module restores state to a default on "restore"
2019-04-15 16:13:28 -04:00
mmcw-dev
4f7dd92311
Update the silent log methods to return false.
2019-04-15 16:11:18 -04:00
mmcw-dev
265f383f65
Create new tests for mocha and chai
2019-04-15 15:10:29 -04:00
mmcw-dev
11b389172c
Stash old tests
2019-04-15 15:08:28 -04:00
mmcw-dev
dac70a122f
Begin testing with mocha and chai.
2019-04-15 13:07:47 -04:00
mmcwilliams
7a52bc7c6e
Secondary projector and secondary camera behaviors have been added to the main process. This is not represented in the UI... yet. All renderer code is still in flux.
2019-04-04 18:49:07 -04:00
mmcwilliams
18c515402e
Installed on mac and ran build on mac. Works!
2019-04-04 01:07:30 -04:00
mmcwilliams
cda100b3e6
Electron build works again on debian-based linux.
2019-04-03 18:58:13 -04:00
mmcwilliams
63e42f2dd3
Need to install request now, locally, for latest electron build.
2019-04-03 18:54:37 -04:00
mmcw-dev
d995a4800d
Update install process.
2019-04-02 11:11:26 -04:00
mmcwilliams
96754fcf49
Work on progress bar.
2019-04-02 10:21:01 -04:00
mmcwilliams
d1480181b3
Remove exasperated comment.
2019-04-01 11:07:25 -04:00
mmcwilliams
d6fd83762e
Remove mcopy.state.camera and mcopy.state.projector.
2019-03-31 15:13:21 -04:00
mmcwilliams
7d2033db3d
Remove comment containing documentation for the dialog.showMessageBox method from electron. That API is ever-evolving and it's best to rely on their published docs.
2019-03-31 12:13:15 -04:00
mmcwilliams
072c67fd0f
Update counters. Use local state within objects cam and proj instead of mcopy.state
2019-03-30 20:29:01 -04:00
mmcwilliams
3e5bda77db
Move docs generation to host repo
2019-03-30 17:56:31 -04:00
mmcwilliams
1510762fbb
Sequencer uses class variables that are either set using arguments passed from the renderer, or uses the variables named "grid" referring to the grid.js gui.
2019-03-29 20:44:12 -04:00
mmcwilliams
429e66717d
Files from previous commit
2019-03-24 00:25:16 -04:00
mmcwilliams
c129739394
Sequence module is controlled from the UI. Everything runs in the main.js on the main process. The DOM changes when ipc messages are sent from the sequence module to the render process.
2019-03-24 00:24:39 -04:00
mmcwilliams
43ee0d0672
Sequence now runs entirely in the main process. Renderer no longer stores the sequence, it is a for loop inside the main process.
2019-03-23 21:58:22 -04:00
mmcwilliams
e35c41791b
Create a system lib that can be used in the UI and cli.
2019-03-22 20:29:36 -04:00
mmcwilliams
b02b92c1c7
Update version across the repo.
2019-03-22 20:29:09 -04:00
mmcwilliams
74e6b9c1b2
Install systeminformation module. This will allow a cross platform solution that doesnt use the electron api for enumerating displays
2019-03-22 19:53:44 -04:00
mmcwilliams
f09ada2cd2
Build and version the package json files on each npm run build
2019-03-22 19:52:21 -04:00
mmcwilliams
42691c1577
All work on grid + sequencer rewrite.
2019-03-22 17:06:57 -04:00
mmcwilliams
cfbeeb3ce9
Add a pause button that is hidden by default.
2019-03-22 17:04:29 -04:00
mmcwilliams
dcca364b78
Update to electron 4. Updated electron-rebuild and electron-packager. Removed sqlite because it is currently unused and takes forever to rebuild. Originally intended to store timings of actions to optimize performance. Putting those plans on ice for now.
2019-03-22 17:01:54 -04:00
mmcwilliams
553d2bbb0d
Made progress on sequencer module, renamed from sequence.
2019-03-22 04:33:53 -04:00
mmcwilliams
425dd9fd6a
Initial updates to sequence module. Will try to simplify into a for loop, but if tests fail will re-write to a similar form as the renderer seq.js module
2019-03-22 03:22:33 -04:00
mmcwilliams
c436406e9e
Add todo in grid.js. This will be the biggest change in the rewrite. All ui/cmd.js commands must be re-written to be entirely ipc based and then all seq commands will be re-written to be ipc based as well.
2019-03-22 03:15:43 -04:00
mmcwilliams
52e6431d65
Rename seq.cmd object keys to new full-length strings
2019-03-22 03:14:16 -04:00
mmcwilliams
ddb33e7f35
Require the Commands module as cmd in main.js
2019-03-22 03:13:46 -04:00
mmcwilliams
3dcfa708d2
Add shortened commands to the cfg.json file
2019-03-22 03:12:42 -04:00
mmcwilliams
aff3678daf
Rename "RUN" button to "START" to match internal terminology and make it clearer to me.
2019-03-22 03:12:04 -04:00
mmcwilliams
4356abc820
Disable light from the UI if necessary. Kind of circuitous, will refactor.
2019-03-21 22:55:12 -04:00
mmcwilliams
41a5fd087d
Last work on display for tonight. Add a boolean attribute "opened" to re-open the digitalWindow if closed.
2019-03-21 22:54:49 -04:00
mmcwilliams
742adccf34
Took a tiny detour on the film out feature, or "digital projector". This now avoids showing a browser window fullscreen on mac, which is having performance issues when opening and then running sequences. There is a major source of lag, seemingly coming from the camera? Need to test with fake projector to see if there's a problem with the arduino lib.
2019-03-21 22:33:30 -04:00
mmcwilliams
97f1464106
Print the current active version into the mcopy.state object
2019-03-21 21:32:33 -04:00
mmcwilliams
0ff1b5ff7d
Refactor display module into typescript
2019-03-21 21:18:13 -04:00
mmcwilliams
d264429726
Create new doc files for new libs or ones with jsdoc
2019-03-21 21:03:03 -04:00
mmcwilliams
65ba1f8c18
Add new grid file
2019-03-21 21:02:41 -04:00
mmcwilliams
48e8415ee4
Rename all keys to full "camera_" vs "cam_" and "projector_" vs "proj_" for consistency across the app.
...
Successfully separate and refactor gui.grid object to gui.
2019-03-21 21:02:28 -04:00
mmcwilliams
e5a1654341
Use local id string so that duplicate instances of the classes can talk to one another.
2019-03-21 19:45:48 -04:00
mmcwilliams
6d1e9ec78f
Print state for now. Need to store position in it? Make resetting it simple.
2019-03-21 19:36:37 -04:00
mmcwilliams
fe046027da
In camera and projector modules, for both main and renderer, use a string id to bind ipc paths and set up the ability to then have multiple of the proj, cam or even light class. Need to do light.
2019-03-21 19:34:56 -04:00
mmcwilliams
600a0abc72
Create and install main process lib to control the cmd.js module
2019-03-21 19:33:01 -04:00
M McWilliams
7a87ac924a
Windows install seems to swap some https/http calls ins package-lock.json. Fascinating.
2019-03-21 18:14:53 -04:00
mmcwilliams
7ce3fa854a
Remove dev object and replace with new devices module. Log an error on failure to enumerate devices that isn't caught within the method.
2019-03-21 18:09:14 -04:00
mmcwilliams
82e10bb4a4
Increment minor version. This marks the "feature complete" refactor of the core functionality in typescript using classes instead of objects in the main.js process.
...
Also, install the new devices module that was refactored into a class from an object. This has been tested with firmware, but additional development on this minor version will pull more UI elements into the main process. This will allow a CLI app to be created more efficiently and kept in sync with the rest of the project. Interface with the firmware will be expanded to control multiple projectors or multiple cameras in the next minor version.
2019-03-21 18:08:24 -04:00
mmcwilliams
fc3cc96cd8
Use the import Log = require() method of including log lib. This is cleaner and easier to read when parsing dependencies.
2019-03-21 18:03:53 -04:00
mmcwilliams
478799965e
Update log format, remove timestamp and use file "mcopy.log" in mcopy dir, not mcopy-cli.
2019-03-21 18:01:41 -04:00
mmcwilliams
099cd3052a
Refactor settings into Typescript class module.
...
Refactor devices into Typescript class module from object.
2019-03-21 18:00:34 -04:00
mmcwilliams
ea91ea5ff5
Remove console logging from arduino lib. Reject or throw to log errors
2019-03-21 15:59:50 -04:00
mmcwilliams
6a31eda3c4
Add label to cam, light and proj module logging
2019-03-21 15:57:16 -04:00
mmcwilliams
91ee19f2ab
Add correct alias strings to arduino lib
2019-03-21 15:56:33 -04:00
mmcwilliams
c563bf0dd3
Add a label argument to the log module.
2019-03-21 15:54:55 -04:00
mmcwilliams
87d43fc15b
Only use log module in main
2019-03-21 15:47:25 -04:00
mmcwilliams
94942d86f9
Remove log from UI. Just use console and write directly to system log.
2019-03-21 15:47:07 -04:00
mmcwilliams
bfb9bcbbe4
All vars become consts to prevent redeclaration during this rewrite (and they should be that anyway)
2019-03-21 15:43:03 -04:00
mmcwilliams
f5f23284a3
Uncomment digital state interaction in proj module
2019-03-21 15:31:17 -04:00
mmcwilliams
9472527c70
Merge broke the UI, whoops
2019-03-21 15:13:48 -04:00
mmcwilliams
6faf78b92e
Merge remote-tracking branch 'origin/master'
2019-03-21 15:08:54 -04:00
mmcwilliams
1b6c56b2ad
Sequence module compiled
2019-03-21 15:06:37 -04:00
mmcwilliams
cf7664fb2a
Remove objects cam, proj, light and replace with new modules
2019-03-21 15:02:54 -04:00
mmcwilliams
05d1bc3ae2
Refactor delay into typescript
2019-03-21 15:02:05 -04:00
mmcwilliams
e9ccdfc191
Refactor light module into typescript-compiled class
2019-03-21 15:01:29 -04:00
mmcwilliams
dc080b8566
Refactor proj module into typescript-compiled proj module.
2019-03-21 15:00:47 -04:00
mmcwilliams
56aba1eaba
Refactor cam module into cam module.
2019-03-21 14:59:46 -04:00
mmcwilliams
c276525d3a
Refactor arduino library as a class, using Typescript now.
2019-03-21 14:58:52 -04:00
mmcwilliams
fce259d29b
Create a "digital" module, moving the "dig" object from the main.js process to it's own class.
2019-03-21 14:58:00 -04:00
mmcwilliams
2408456d47
Install cam, log and mscript modules.
2019-03-20 23:04:52 -04:00
mmcwilliams
f2c2d6ce43
WIP wednesday
2019-03-20 18:37:00 -04:00
mmcwilliams
7f0ab0fee3
Layout all commands that need to be added for dual projector functionality.
2019-03-20 15:44:07 -04:00
mmcwilliams
4236651a09
Move all relevant code into comments
2019-03-20 15:33:51 -04:00
mmcwilliams
fe85cc1b37
Re-write of the sequence module will require incorporating more moving parts than I anticipated. I will move forward with the temporary rewrite and then later focus on the long-term rewrite.
2019-03-20 15:30:45 -04:00
mmcwilliams
d308b8a59e
Merge remote-tracking branch 'origin/master'
2019-03-19 22:33:23 -04:00
mmcwilliams
cc227e9a66
Rewrite seq.js front-end "module" as a main process module in the lib. Can be used by the CLI without a second rewrite. Remove all DOM logic, but make API compatible with seq.js so GUI does not have to change.
2019-03-19 22:33:15 -04:00
mmcwilliams
a4682ed9d3
Simplify logs. Still prints timestamp as json.
2019-03-19 14:48:01 -04:00
mmcwilliams
d19e83d616
Increment patch number and run `npm audit fix`
2019-03-18 19:43:27 -04:00
mmcwilliams
9bfc133a67
Add a function to cancel a sequence. This should only be used during "seq.exec()".
2019-03-18 19:42:12 -04:00
mmcwilliams
f89ad53235
Caught a silly mistake. Accidentally referenced setDir instead of setExposure in intval exposure function. It's ok because that's dormant anyway.
2019-03-18 19:11:05 -04:00
mmcwilliams
0fbe45073c
Add a seq.cmds object to map named actions to functions. This creates targets for MSCRIPT to compile to, and allows the sequence to be stored in a string array.
2019-03-18 18:42:31 -04:00
mmcwilliams
415306d7a8
Add comments to existing sequencer gui file. Question arises here: should this logic be pushed back into the main process so that there is less reliance on the renderer and all command logic takes place in main (or a sub-module) with the renderer being used only for display and not sequencing. This seems to be the path going forward, but will take a re-write that allows for GUI to interrupt the process as it does now. A proof of concept will have to be written to demonstrate that using `await delay(ms)` is viable and the process does not completely lock.
2019-03-18 18:41:35 -04:00
mmcwilliams
b1e4015630
If light is not enabled when digital projector is selected, enable light. Otherwise, the light value will stay default 0,0,0 and all frames are rendered as black.
2019-03-18 18:35:49 -04:00
mmcwilliams
ad97086bf0
Overwrite any exported frame by adding -y flag to the ffmpeg command.
2019-03-18 18:28:31 -04:00
mmcwilliams
46da2e6541
Add the new firmware identifiers as accepted responses. Also add text identifiers for firmware identified as the 4 new types.
2019-03-18 17:21:17 -04:00