79e16fb166Add a "version.sh" shell script to bump the version of the app and distribute it throughout the repo.mmcwilliams2019-03-22 20:27:55 -0400
74e6b9c1b2Install systeminformation module. This will allow a cross platform solution that doesnt use the electron api for enumerating displaysmmcwilliams2019-03-22 19:53:44 -0400
1413e323f0Install private modules in the cli projectmmcwilliams2019-03-22 19:52:59 -0400
f09ada2cd2Build and version the package json files on each npm run buildmmcwilliams2019-03-22 19:52:21 -0400
283085cb8dMove the cfg.json file master to the root.mmcwilliams2019-03-22 19:51:06 -0400
5717fc8cfeAdd a build script to build cli with pkg.mmcwilliams2019-03-22 19:50:46 -0400
cfbeeb3ce9Add a pause button that is hidden by default.mmcwilliams2019-03-22 17:04:29 -0400
dcca364b78Update 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.mmcwilliams2019-03-22 17:01:54 -0400
553d2bbb0dMade progress on sequencer module, renamed from sequence.mmcwilliams2019-03-22 04:33:53 -0400
425dd9fd6aInitial 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 modulemmcwilliams2019-03-22 03:22:33 -0400
c436406e9eAdd 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.mmcwilliams2019-03-22 03:15:43 -0400
52e6431d65Rename seq.cmd object keys to new full-length stringsmmcwilliams2019-03-22 03:14:16 -0400
ddb33e7f35Require the Commands module as cmd in main.jsmmcwilliams2019-03-22 03:13:46 -0400
3dcfa708d2Add shortened commands to the cfg.json filemmcwilliams2019-03-22 03:12:42 -0400
aff3678dafRename "RUN" button to "START" to match internal terminology and make it clearer to me.mmcwilliams2019-03-22 03:12:04 -0400
4356abc820Disable light from the UI if necessary. Kind of circuitous, will refactor.mmcwilliams2019-03-21 22:55:12 -0400
41a5fd087dLast work on display for tonight. Add a boolean attribute "opened" to re-open the digitalWindow if closed.mmcwilliams2019-03-21 22:54:49 -0400
742adccf34Took 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.mmcwilliams2019-03-21 22:33:30 -0400
97f1464106Print the current active version into the mcopy.state objectmmcwilliams2019-03-21 21:32:33 -0400
aef8709ab0Add placeholders for exec and spawn modulesmmcwilliams2019-03-21 21:18:27 -0400
0ff1b5ff7dRefactor display module into typescriptmmcwilliams2019-03-21 21:18:13 -0400
d264429726Create new doc files for new libs or ones with jsdocmmcwilliams2019-03-21 21:03:03 -0400
48e8415ee4Rename 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.mmcwilliams2019-03-21 21:02:28 -0400
e5a1654341Use local id string so that duplicate instances of the classes can talk to one another.mmcwilliams2019-03-21 19:45:48 -0400
6d1e9ec78fPrint state for now. Need to store position in it? Make resetting it simple.mmcwilliams2019-03-21 19:36:37 -0400
fe046027daIn 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.mmcwilliams2019-03-21 19:34:56 -0400
600a0abc72Create and install main process lib to control the cmd.js modulemmcwilliams2019-03-21 19:33:01 -0400
7a87ac924aWindows install seems to swap some https/http calls ins package-lock.json. Fascinating.M McWilliams2019-03-21 18:14:53 -0400
7ce3fa854aRemove dev object and replace with new devices module. Log an error on failure to enumerate devices that isn't caught within the method.mmcwilliams2019-03-21 18:09:14 -0400
82e10bb4a4Increment 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.mmcwilliams2019-03-21 18:08:24 -0400
fc3cc96cd8Use the import Log = require() method of including log lib. This is cleaner and easier to read when parsing dependencies.mmcwilliams2019-03-21 18:03:53 -0400
478799965eUpdate log format, remove timestamp and use file "mcopy.log" in mcopy dir, not mcopy-cli.mmcwilliams2019-03-21 18:01:41 -0400
099cd3052aRefactor settings into Typescript class module. Refactor devices into Typescript class module from object.mmcwilliams2019-03-21 18:00:34 -0400
ea91ea5ff5Remove console logging from arduino lib. Reject or throw to log errorsmmcwilliams2019-03-21 15:59:50 -0400
6a31eda3c4Add label to cam, light and proj module loggingmmcwilliams2019-03-21 15:57:16 -0400
fe85cc1b37Re-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.mmcwilliams2019-03-20 15:30:45 -0400
cc227e9a66Rewrite 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.mmcwilliams2019-03-19 22:33:15 -0400
a4682ed9d3Simplify logs. Still prints timestamp as json.mmcwilliams2019-03-19 14:48:01 -0400
d19e83d616Increment patch number and run `npm audit fix`mmcwilliams2019-03-18 19:43:27 -0400
9bfc133a67Add a function to cancel a sequence. This should only be used during "seq.exec()".mmcwilliams2019-03-18 19:42:12 -0400
f89ad53235Caught a silly mistake. Accidentally referenced setDir instead of setExposure in intval exposure function. It's ok because that's dormant anyway.mmcwilliams2019-03-18 19:11:05 -0400
0fbe45073cAdd 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.mmcwilliams2019-03-18 18:42:31 -0400
415306d7a8Add 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.mmcwilliams2019-03-18 18:41:35 -0400
b1e4015630If 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.mmcwilliams2019-03-18 18:35:49 -0400
ad97086bf0Overwrite any exported frame by adding -y flag to the ffmpeg command.mmcwilliams2019-03-18 18:28:31 -0400
1d993b85d3Create a scad file for extra odds and ends for the JKmmcwilliams2019-03-18 18:28:09 -0400
46da2e6541Add the new firmware identifiers as accepted responses. Also add text identifiers for firmware identified as the 4 new types.mmcwilliams2019-03-18 17:21:17 -0400
d4c2f5b678Rebuild docs for arduino library after refactor into class.mmcwilliams2019-03-18 16:51:16 -0400
9b4525e5a7Refactor logFile function for readability. Add comments to the log library. Build logs.mmcwilliams2019-03-18 16:50:40 -0400
74b326caebAdd ANYEYE scad work. Contains the motor key for connecting the INTVAL2/3 style motor mount and microswitch to a Revere 16mm projector.mmcwilliams2019-03-18 16:49:00 -0400
aa5bbfc9fdPort shared modules to typescript. Migrate shared modules first, then look at individual needs of sub-projects.mmcwilliams2019-03-04 22:09:12 -0500
307ef33a10Update description as project expands and reshapes. Now will develop shared modules for the app, cli and then the "native" experimental app written in proton-native.mmcwilliams2019-03-04 22:06:40 -0500
f276d5ce83Add commands for controlling a secondary projector.mmcwilliams2019-03-01 20:14:20 -0500