Commit Graph

713 Commits

Author SHA1 Message Date
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
mmcwilliams d4c2f5b678 Rebuild docs for arduino library after refactor into class. 2019-03-18 16:51:16 -04:00
mmcwilliams 9b4525e5a7 Refactor logFile function for readability.
Add comments to the log library. Build logs.
2019-03-18 16:50:40 -04:00
mmcwilliams 029dd628b6 Add comments to cmd 2019-03-13 15:28:17 -04:00
mmcwilliams cf6e4f9de9 Disable light on projector 2019-03-13 15:28:07 -04:00
mmcwilliams e47abeaaa5 Hid light pads if light is disabled. 2019-03-10 13:18:59 -04:00
mmcwilliams 4eee61ab1b Hide labels if light is disabled. Hide navigation element if light is disabled. 2019-03-10 01:25:59 -05:00
mmcwilliams 4202d01630 Calling this a patch commit lets go! 2019-03-09 15:47:26 -05:00
mmcwilliams 00b5efa484 Logging still sucks. 2019-03-09 13:17:32 -05:00
mmcwilliams 95b6f77848 Try to improve logging. It's not there, yet. 2019-03-08 22:33:03 -05:00
mmcwilliams e186b1b9fc Write arg.profile and not the HTML element profile to log 2019-03-08 22:32:43 -05:00
mmcwilliams ede29216f7 Update arduino lib in app and cli 2019-03-08 22:32:25 -05:00
mmcwilliams 87f3bcef6f Copy build libraries to cli app 2019-03-08 22:31:29 -05:00
mmcwilliams fcdc6ebb1d Typescript adding commas to compiled code. 2019-03-04 22:10:15 -05:00
mmcwilliams ec0b8e3b4f Run docs as shell, not bash 2019-03-04 22:09:26 -05:00
mmcwilliams aa5bbfc9fd Port shared modules to typescript. Migrate shared modules first, then look at individual needs of sub-projects. 2019-03-04 22:09:12 -05:00
mmcwilliams 307ef33a10 Update 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. 2019-03-04 22:06:40 -05:00
mmcwilliams f276d5ce83 Add commands for controlling a secondary projector. 2019-03-01 20:14:20 -05:00
mmcwilliams 200671b1cf Increment patch number for new build. 2019-03-01 18:02:39 -05:00
mmcwilliams fcc4da3672 Add additional cases to the arduino filter when looking for devices to connect with. 2019-03-01 18:01:16 -05:00
mmcwilliams c93413bae4 Hide video feature until better fleshed out. 2019-03-01 18:00:49 -05:00
mmcwilliams b9bd62bb78 Add mp4 to allowable file extension filter 2019-02-28 17:50:13 -05:00
mmcwilliams 1612d737a1 Add second UI element behavior for new video screen. 2019-02-26 21:58:26 -05:00
mmcwilliams aff06619a0 Add video screen to UI 2019-02-26 21:57:07 -05:00
mmcwilliams da7faf59a5 Add documentation to code on GUI grid features, needed to because I will be modifying this extensively. 2019-02-26 21:56:39 -05:00
mmcwilliams a5a9a4ea86 Refactor arduino module to not use the mcopy. prefix. This should really be a class, not an object. We'll get there. 2019-02-26 21:55:52 -05:00
mmcwilliams b481906c86 Add video screen, to be used for better control of the digital projector. 2019-02-26 21:54:46 -05:00
mmcwilliams a9dd45a464 Add some docs to the code. Work in progress 2019-02-26 21:53:32 -05:00
mmcwilliams 8b2095227c Add case for updating the UI when second projector connected. 2019-02-26 16:43:38 -05:00
mmcwilliams 6622a72241 Resize app when second projector connected 2019-02-26 16:43:14 -05:00
mmcwilliams c964410f7b Add variable for tracking whether or not light feature is disabled. 2019-02-26 16:42:54 -05:00
mmcwilliams 643e88aef3 Add a placeholder config profile for the MONO JK 2019-02-26 16:00:59 -05:00
mmcw-dev aff070cdc4 Connect second projector 2019-02-26 11:49:00 -05:00
mmcwilliams 7398f7993d Start work on secondary projector feature 2019-02-25 18:14:29 -05:00
mmcwilliams fb08a28543 Update mscript tests. Could not repro error because it is due to escaping. 2019-02-24 08:31:22 -05:00
mmcwilliams 4947cbcc9d Found range error in common usage example. Check test coverage 2019-02-24 08:23:57 -05:00
mmcwilliams 58ade0518e Return mscript output if no callback defined 2019-02-24 08:22:41 -05:00
mmcwilliams 56a83615a9 Begin mcopy-cli for a simple command line interface 2019-02-24 08:13:47 -05:00
mmcwilliams 73ae599cff Uninstall and remove references to async module 2019-02-23 22:40:59 -05:00
mmcw-dev 723b23fa41 Fix intval bug and apply UI projector value change to digital file state. 2019-02-23 22:19:42 -05:00
mmcw-dev bf148c6784 Set value to digital projector feature when changing it in UI 2019-02-23 22:19:03 -05:00
mmcwilliams 7fd449724b Convert comment to string on light object. Will use in a modal. 2019-02-23 12:25:47 -05:00
mmcwilliams 8ebdbf9f6f Add docs script to package.json 2019-02-23 12:25:47 -05:00
mmcwilliams 54ab121e89 Feeble first attempt at documenting code 2019-02-23 12:25:47 -05:00
mmcwilliams 16dcd1e3d4 Move all scripts into scripts directory 2019-02-23 12:25:47 -05:00
mmcwilliams 8bd505da36 Save and restore settings, including profiles. 2019-02-23 12:25:46 -05:00
mmcwilliams 4de536e2e8 Incrementing patch. Fixed color and timing issues with "digital" sequences. 2019-02-13 19:00:10 -05:00
mmcwilliams 8fd29e89d8 Okay. Removed the light.state.on behavior. Now, a frame is rendered to the set color state of the "light" only when the camera is moving. Unnecessary frames don't display AND the correct color is represented at the right time. No juggling state values between steps in the sequence. 2019-02-13 18:57:18 -05:00
mmcwilliams e7ac873f41 Two birds, one commit. Can even pull out the bad logic of the light.state.on value, but that's not hurting anybody. 2019-02-13 18:49:59 -05:00
mmcwilliams ed8f1add35 Merge remote-tracking branch 'origin/master' 2019-02-11 01:34:38 -05:00
mmcwilliams dbe96491f9 Update version in package-lock.json 2019-02-11 01:34:28 -05:00
mmcw-dev 962a7c8213 Fix loop bug. When selection a video as a projector (need to work on this metaphor) the loops are automatically set. Previous issues were due to id re-use.
Also, (almost) you can choose a light color value that a frame will be overlayed on with a Darken composite mode. This is almost working but is kludgey because the first frame is always coming up black. Will need to make adjustments in the light module.
2019-02-11 01:08:20 -05:00
mmcw-dev 3493759998 Scale frame export to video's advertized size 2019-02-10 14:07:07 -05:00
mmcwilliams cbb28212d6 Increment a major version because of new Digital projector feature. 2019-02-08 18:23:35 -05:00
mmcwilliams 40b5ecfe69 Digital projector feature added. Select a video and it will be displayed on the main monitor (TODO: address this) and the camera will advance in sync, as with a regular optical printer. 2019-02-08 18:21:16 -05:00
mmcwilliams fafb313f7d Devices 2019-02-08 14:30:22 -05:00
mmcwilliams 30a070dca0 Device UI 2019-02-08 14:28:57 -05:00
mmcwilliams 0e618430ff Install delay, exit and exec modules. 2019-02-08 14:07:35 -05:00
mmcwilliams 9db61a7190 Require modules. 2019-02-08 13:17:14 -05:00
mmcwilliams b9a6da957d Add new display and capture modules. Don't need new capture module rn. 2019-02-08 13:16:42 -05:00
mmcwilliams 2dbed1215d Install local capture module to package. 2019-02-08 13:15:22 -05:00
mmcwilliams 12e09f04aa Remove old capture. Create package file to install capture module. 2019-02-08 13:15:02 -05:00
mmcwilliams 97ec076ec1 Deprecate old capture module. Delete will follow. 2019-02-08 13:13:10 -05:00
mmcwilliams 4a86d5d441 Remove digital module, delete file 2019-02-08 13:12:33 -05:00
mmcwilliams aebacbccaf Deprecate "digital" module 2019-02-08 13:11:51 -05:00
mmcwilliams e42d7a6e0b Install local modules to package 2019-02-08 12:57:38 -05:00
mmcwilliams 95007d06a2 Install libs from intval_go_node project 2019-02-08 12:46:58 -05:00
mmcw-dev 8adab68cdc Update package and increment version for local install 2018-12-10 22:14:55 -05:00
mmcw-dev f110718342 Fix startup error, where spinner would be removed before fully connected 2018-12-10 21:52:48 -05:00
mmcw-dev deee2ba59f Fix build linux script 2018-12-10 07:53:00 -05:00
mmcw-dev f07a429d8b Rebuilt on linux 2018-12-09 22:01:29 -05:00
mmcw-dev 20f3170fe5 Update package lock 2018-12-09 22:01:15 -05:00
M McWilliams f58f5ae95f Make electron debian package optional 2018-11-24 20:10:20 -05:00
mmcw-dev 625094f0e3 Update to electron 3 2018-11-23 13:26:36 -05:00
mmcw-dev b83e703cf1 staged changes 2018-11-23 13:16:08 -05:00
mmcwilliams 5f50e1f082 Digital module, not complete, was crashing app by looking for a non-existant module 2018-10-23 14:32:41 -04:00
mmcw-dev a342ecca66 Import all work on digital branch into master 2018-10-06 23:38:29 -04:00
mmcwilliams 2653902dad npm audit fix vulnerable packages 2018-09-25 14:43:44 -04:00
mmcwilliams c0bc1b431a Lock updated after install 2018-09-25 14:42:48 -04:00
mmcwilliams fb444c03b5 fix lock conflict 2018-09-25 14:38:41 -04:00
mmcw-dev 1914641b77 Updates after package updates 2018-09-02 14:26:12 -04:00
mmcw-dev 92ba4af306 Update everything, latest electron, latest everything 2018-09-02 09:50:36 -04:00
mmcw-dev af8e982cc9 Update to the latest electron 2018-09-02 08:10:26 -04:00
mmcw-dev 15eea45aa9 Update fixes 2018-09-02 08:06:40 -04:00
mmcwilliams ca92abea68 Build new app.js 2018-06-26 09:36:18 -04:00
mmcw-dev a051fe511f Update todo tasks 2018-06-24 16:09:35 -04:00
mmcw-dev 4e4d19aed7 Update tests for variables features 2018-06-24 16:09:16 -04:00
mmcw-dev c9f5d11413 Use startsWith, imported from lodash (don't need the whole thing) 2018-06-24 16:09:16 -04:00
mmcw-dev d306bc915c When there is a loop specified in the gui, write that into the mscript that gets generated from the grid 2018-06-24 16:09:16 -04:00
mmcw-dev 4c98b5c828 Update tests to use assert instead of if/and 2018-06-24 16:09:16 -04:00
mmcwilliams 709a5c1560 Remove whitespace 2018-06-19 09:49:34 -04:00
mmcwilliams 52350b2325 Update mscript usage 2018-06-16 23:19:58 -04:00
mmcwilliams 9e125e37d3 Add comment for jsdoc 2018-06-16 23:16:13 -04:00
mmcwilliams db1128ab52 Update documentation 2018-06-16 23:13:14 -04:00
mmcwilliams 371c7afb25 Fix the fade feature and loop feature 2018-06-16 22:48:11 -04:00
mmcw-dev 88175a93c0 Work on fade feature 2018-06-16 21:33:53 -04:00
mmcw-dev e0d4265875 Reactor command parsing into separate methods 2018-06-16 19:30:50 -04:00
mmcw-dev 8b08c35b96 Update profile script to use the new version of the mscript lib 2018-06-16 19:30:15 -04:00
mmcw-dev 67addbe7ab Todo for mscript 2018-06-16 18:50:38 -04:00
mmcw-dev 5f736c0af4 New mscript, much easier to read, uses a class 2018-06-16 18:50:24 -04:00
mmcw-dev 48d3952e3c Save old mscript for comparison for now 2018-06-16 18:50:10 -04:00
mmcw-dev 374d08e6ea Profile script for timing new vs old mscript 2018-06-16 18:50:01 -04:00
mmcw-dev e3b735ced3 Update script to function as a class 2018-06-16 18:49:48 -04:00
mmcw-dev 4565205aad Install fs-extra for promise-based fs functionality 2018-06-14 11:42:29 -04:00
mmcw-dev cb5e50792a Remove legacy tests from mscript. This has been migrated to proper tests in QUnit (which should work in the browser as well as the app) 2018-06-14 11:38:17 -04:00
mmcw-dev fc73859f8f Use lighting steps to the GUI and when executing. 2018-03-16 12:59:23 -04:00
mmcw-dev c1d5e52a10 Start mscript docs. Will describe each method to facilitate the addition of the "fade" feature. 2018-03-16 12:57:02 -04:00
mmcw-dev df0806efa9 Add docs script for future use. 2018-03-16 12:56:24 -04:00
mmcw-dev a6a910c909 Converted all mscript tests to Qunit tests. 2018-03-16 12:22:34 -04:00
mmcwilliams 1373d1d690 Start mscript work by adding tests. Will be relying on qunit. 2018-03-16 11:30:54 -04:00
mmcwilliams bab6593fba Add test script to the package file 2018-03-16 11:26:09 -04:00
mmcwilliams c209fa9249 Fix build script for mac 2018-03-16 11:20:15 -04:00
mmcw-dev 2c76710f91 Add readme.md work for 1.0.3 release 2018-03-16 10:50:55 -04:00
mmcw-dev 4627382c91 Name package mcopy-app in linux build process 2018-03-15 15:33:45 -04:00
mmcw-dev d50ba3ac6e Require package file for server module. Still in dev. 2018-03-15 15:32:26 -04:00
mmcw-dev 0f74f6ac7c Fix linux build process. Working now. 2018-03-15 15:32:09 -04:00
mmcw-dev a2406c667a Rename package to mcopy-app to prevent issues installing alongside mtools. Incremented build after patching issues with the grid sequencer. 2018-03-15 15:31:50 -04:00
mmcw-dev a2ab93bd46 Fix the toSequence function which actually sends a compiled mscript script to the sequencer. Yay. 2018-03-15 14:52:41 -04:00
mmcw-dev c128fa2871 Improve linux build process. Caught an issue where the binary mcopy is conflicting with another in the mtools library. Will be re-naming the binary mcopy-app on linux. Will revist this after current release. 2018-03-15 14:52:08 -04:00
mmcw-dev 116cb46fcd Add experimental feature library. 2018-03-15 14:51:26 -04:00
mmcw-dev d121a90dcc Add a placeholder for the experimental "digital" feature. 2018-03-15 14:50:56 -04:00
mmcw-dev 5b0d221daa Add the async/await exec wrapper that I use, for an experimental feature. 2018-03-15 14:50:36 -04:00
mmcw-dev 38b52d0618 Minor version increment, 1.0.0 was broken, and this is a corrective patch. 1.0.1 allows connected light devices to work without locking up the process. 2018-03-15 12:09:49 -04:00
mmcw-dev ce6e450b44 To preserve the light functionality, the light command needed to have its await statements re-organized. Issue was that light values issued to the firmware take the form of sending the character "l" and then the rgb value of the light "255,255,255" and so forth. Then the program responds with the "l" to confirm the end of the command. Because of the change within the arduino library, to treat the arduino.send() method as an async function, the program was locking up waiting for the "l" response before it could send the rgb value string. 2018-03-15 12:08:23 -04:00
mmcw-dev f1ca18b4a5 app.css updated from seq.less change 2018-03-15 11:55:58 -04:00
mmcwilliams 2f05a3d21e Testing issue with light.js and the new async/await functions in main.js. Fundamental breakdown in light functionality that isn't occuring in proj.js. Ok I am just figuring out the issue as I type this, damnit. 2018-03-15 11:55:10 -04:00
mmcw-dev f4afcaf8cc Target correct icon path 2018-03-15 11:23:36 -04:00
mmcw-dev 95da651d6d Run from local binaries, not globals 2018-03-15 11:23:23 -04:00
mmcw-dev 0577b53517 Add placeholder docs app 2018-03-15 10:23:03 -04:00
mmcw-dev 88c1e6d72d Correct version to 1.0.0 2018-03-15 10:19:51 -04:00
mmcwilliams 6d6218101c Update build mac script 2018-03-14 23:43:42 -04:00
mmcwilliams dddd3214e1 Mscript:
* compile sequence
* run sequence
2018-03-14 23:19:23 -04:00
mmcwilliams 394ef0d1e3 Add spinner progress to gui.spinner 2018-03-14 23:17:59 -04:00
mmcwilliams 07df1ed883 All UI update for new mscript features 2018-03-14 23:17:42 -04:00
mmcwilliams ec08407904 New icons 2018-03-14 23:15:01 -04:00
mmcwilliams 1b995be69b Execute an abitrary sequence, while locking up the UI. This is needed for the GO TO functions and the mscript editor. 2018-03-14 23:14:48 -04:00
mmcwilliams f73789bc4c Added console and sequence designs. 2018-03-14 21:08:20 -04:00
mmcwilliams d2ad8aa274 Make buttons #fff instead of color (it looked like a christmas tree). 2018-03-14 21:07:47 -04:00
mmcwilliams acc9b8e89d REposition the counters and the GO TO functions 2018-03-14 21:07:03 -04:00
mmcwilliams e1491837f2 Blank back and forward were bother broken (no callbacks) 2018-03-14 21:06:39 -04:00
mmcwilliams 749719e477 mse.mscript and mse.console for mscript editor features. 2018-03-05 13:27:00 -05:00
mmcwilliams a6becef4cc Move mscript commands into footer of the text editor 2018-03-04 23:57:45 -05:00
mmcwilliams 8452d24819 Increase footer size 2018-03-04 23:56:25 -05:00
mmcwilliams 5f941a9140 Add styles to mscript UI. Allowing for a compilation step. 2018-03-04 23:56:01 -05:00
mmcwilliams e28c349c75 Migrate mscript functions into their own source file 2018-03-04 23:55:31 -05:00
mmcwilliams 8d8ce64ff7 Make all functions in intval async/await 2018-03-04 23:54:42 -05:00
mmcwilliams 3e80925aaa Corrected the fakeConnect serial fallback, which was failing to complete steps 2018-03-04 22:35:21 -05:00
mmcw-dev 7eab7675cb Async/Await refactor in intval lib. FakeConnect needs repair. 2018-03-03 00:27:49 -05:00
mmcwilliams c453e7ac43 Async/Await refactor for arduino and sequence-related features 2018-03-02 22:42:15 -05:00
mmcwilliams 072ef38a24 Auto packager formatting 2018-03-02 21:12:39 -05:00
mmcwilliams 9a45192b38 Sleep after packaging 2018-03-02 21:12:06 -05:00
mmcwilliams 4dccefc126 Write new profile setting to settings.json file when changed 2018-02-07 13:44:24 -05:00
mmcwilliams 4a3a99acb6 Add a dev script that builds gulp and starts in -d/--dev mode 2018-02-01 14:56:50 -05:00
mmcwilliams 3ac7733635 Refactor lib/gui/index.js to use const/let 2018-02-01 14:55:20 -05:00
mmcwilliams 7636e6b913 Reposition icons within the command buttons 2018-02-01 14:54:12 -05:00
mmcwilliams 62eb54ce49 Add the beginnings of the move_to feature 2018-02-01 14:53:46 -05:00
mmcwilliams 89cf41b02c Refactor src/index to use consts, not var, to prevent stupid bugs 2018-02-01 14:53:26 -05:00
mmcwilliams 34a7d37b7b Save devices state
Restore state
Switch to use intval as camera
2018-02-01 14:52:47 -05:00
mmcwilliams db47c4b524 All styles built into app.css file 2018-02-01 14:51:27 -05:00
mmcwilliams a361ff1de6 Add styles for the move_to feature 2018-02-01 14:51:02 -05:00
mmcwilliams baac6ea2f9 Fix the command button states, spacing and icon placement 2018-02-01 14:50:33 -05:00
mmcwilliams 1032fdb43e Add a clearfix class 2018-02-01 14:50:33 -05:00
mmcwilliams 96eb24ac6d Add messaging to the device connection process. 2018-01-31 21:46:37 -05:00
mmcwilliams 0b34fad858 Add id's to the INTVAL selection UI 2018-01-31 21:46:21 -05:00
mmcwilliams c72d80c6a1 Sort discovered devices into a list where previously connected ones are sorted to the top of the array. 2018-01-31 21:46:03 -05:00
mmcwilliams 66d9af42b6 Define spinner with a cfg object only once, then hide and show as needed.
Add a 'msg' parameter to the spinner function which adds a message to the spinner on show and a spinnerMsg() function which allows it to be changed while the spinner is showing.
2018-01-31 21:45:19 -05:00
mmcwilliams f3e406dd5d Update overlay style (make darker) and add styling for a message to go under the spinner 2018-01-31 21:43:56 -05:00
mmcwilliams 43770b539f Intval connect feature, for accessing an intval3 over the web 2018-01-31 10:42:11 -05:00
M McWilliams 6613558221 named profiles in cfg 2018-01-30 09:33:34 -05:00
M McWilliams f78622c739 Run build win after building for windows 2018-01-30 09:33:16 -05:00
M McWilliams 51d2b00dee Style the command buttons, investigate why UI states are not being displayed 2018-01-30 05:05:50 -05:00
M McWilliams 9bbf2393b7 Adjust timings in the jkfirmware 2018-01-30 05:05:04 -05:00
M McWilliams 0a28c84ef9 Merge branch 'master' of https://github.com/sixteenmillimeter/mcopy 2018-01-30 04:10:23 -05:00
M McWilliams 601e5b3226 Build windows .msi script 2018-01-30 04:08:35 -05:00
M McWilliams 63e081afe4 Add COM3 for windows tests 2018-01-30 04:07:52 -05:00
mmcwilliams 7a33d3f5b1 Corrected serialport usage after update 2018-01-23 11:41:42 -05:00
mmcwilliams d311ac4727 Readline in serialport is a class, needs to be constructed. 2018-01-23 11:35:39 -05:00
mmcwilliams 1807f5881b Electron update because of vulnerability report 2018-01-23 00:04:37 -05:00
mmcwilliams 68c9a38aa5 remember device if it is connected to and then distinguished 2018-01-22 15:04:08 -05:00
mmcwilliams dba64d5bd7 Settings, database and main.js 2018-01-21 18:53:15 -05:00
mmcw-dev b2e7578cf9 Typo was breaking sequence with backward camera frames 2018-01-20 19:51:08 -05:00
mmcwilliams 71710ecca2 REmove whitespace from cfg.json (testing different platforms that lack this file) 2018-01-17 18:09:51 -05:00
mmcwilliams 695a289bdb Settings, intval and mcopyJK firmware work. 2018-01-17 12:24:59 -05:00
mmcw-dev 407134af7e Comment out restify endpoints in server module 2018-01-11 06:25:17 -05:00
mmcw-dev 465993ce33 Add class to database module 2018-01-11 06:24:45 -05:00
mmcwilliams 680cac7fb1 No longer need logs directory locally. 2018-01-09 23:36:56 -05:00
mmcwilliams 2ec458b247 Build a .dmg and prep for the installers files for the windows installer 2018-01-09 23:36:00 -05:00
mmcwilliams a251a1492c Marked is removed as a dependency. 2018-01-09 23:23:41 -05:00
mmcwilliams 57321bff4b Update serialport and node-notifier, marked is now gone. 2018-01-09 23:23:28 -05:00
mmcwilliams ea973b522d Update modules due to security advisory (even though no one will be DDoSing the desktop app anytime soon) 2018-01-09 23:06:11 -05:00
mmcwilliams 5d6e5321ff Hardcode cfg.json with all the new command characters. 2018-01-09 23:02:47 -05:00
mmcwilliams 4b2df2896c Settings styles. Commands screen styles. Devices represented in UI. 2018-01-09 13:02:30 -05:00
mmcwilliams 4fb06761aa Use local binaries, not global ones, in build scripts 2018-01-09 12:35:50 -05:00
M McWilliams acb9846015 Build a 64bit version of the app, not a 32bit one. 2018-01-07 00:00:01 -05:00
mmcw-dev d54c62053c Reference os module in main.js app and add intval module, for controling an intval intervalometer with the mcopy GUI. 2018-01-06 17:53:05 -05:00
mmcw-dev fd438d6426 Update command screen button styles to add padding to the icons in the screen. 2018-01-06 17:51:53 -05:00
mmcw-dev af8378de88 Add additional build tools for electron on different platforms. 2018-01-06 17:51:19 -05:00
mmcw-dev a8afd2e187 Add additional icons to command buttons (maybe overkill) 2018-01-06 17:50:53 -05:00
mmcw-dev 3219ef332d Placeholder icons and script for app icon. Windows is still not working, investigate the conversion step to see whether or not it is generating a valid icon. 2018-01-06 17:49:58 -05:00
mmcw-dev 4fb790c338 Scripts containing the first build steps for each of the platforms listed. Each will also need to be paired with a corresponding build tool that packages apps into .dmg, .deb and .msi installers. 2018-01-06 17:49:09 -05:00
mmcw-dev b20c564bed Rename mcopy to arduino in main.js 2018-01-05 15:48:10 -05:00
mmcw-dev 375694e090 Stop building app with mscript.js, gets required by index.js 2018-01-05 15:47:54 -05:00
mmcw-dev d68d647cb2 Rename mcopy lib to arduino 2018-01-05 15:47:29 -05:00
mmcw-dev 71a885d7cd Move and rename all lib modules, all front end goes into /ui and application-side scripts go into their own named directories, like capture, mcopy and mscript 2018-01-05 14:22:40 -05:00
mmcw-dev 4c2af4415c Sequence UI was broken with capture/transfer logic 2018-01-05 09:17:41 -05:00
mmcw-dev a84b1019f1 When devices are discovered, represent that in the UI. 2018-01-04 23:52:06 -05:00
mmcw-dev e683338a35 Add common light types and their RGB values 2018-01-04 23:44:12 -05:00
mmcw-dev b1aac2054a Add a server module, which will be used for optional remote control with a mobile-friendly interface. 2018-01-04 23:43:33 -05:00
mmcw-dev 59b4a51cca Add scroll styles for scrollbar 2018-01-04 23:42:57 -05:00
mmcw-dev 6f7350169b Use settings and now a menu.json file. 2018-01-04 23:42:36 -05:00
mmcw-dev 8bb1997694 Use a settings file instead of cfg.json. Cfg.json becomes hardcoded. 2018-01-04 23:42:16 -05:00
mmcw-dev 9997df1c99 Remove unnecessary q module, am using async or promises where needed. 2018-01-04 23:41:32 -05:00
mmcw-dev df39043100 Replace file-read-then-parse scenario with a require of the config json file 2018-01-04 23:40:55 -05:00
mmcwilliams 4791b7e59e Add cmd buttons and styles. Add delay before registering devices when no serial devices are found. 2018-01-02 09:46:05 -05:00
mmcwilliams 15d0634896 Complete style reorg, now with cmd.less 2018-01-02 01:52:15 -05:00
mmcwilliams 0d2fe71689 Distinguish devices with an empty array if there's an error listing devices OR if there are none found. 2018-01-02 01:43:53 -05:00
mmcwilliams f554bd9659 Re-organize LESS files 2018-01-02 01:43:11 -05:00
mmcw-dev bfdab13ba4 Start database module 2018-01-02 01:17:39 -05:00
mmcw-dev b0709f1200 Add additional firmware types 2018-01-02 01:17:19 -05:00
mmcw-dev f7679e6828 Comment out CMY tab 2018-01-02 01:16:59 -05:00
mmcw-dev c2a079d9af Distinguish devices better and asynchronously 2018-01-02 01:16:33 -05:00
mmcw-dev 2bde6c9a8e ES6 refactor
Can support multiple devices
Uses new types of mcopy firmware distinguishing characters
2018-01-02 01:15:29 -05:00
mmcw-dev 21ec669b20 Install async and update to electron 1.7 with associated deps 2018-01-02 01:14:29 -05:00
mmcw-dev 0354fd655a Remove CMY tab and add command buttons 2018-01-02 01:14:06 -05:00
mmcw-dev 7ec1a08adf Create a settings UI doc, needs to take appropriate features from cfg.json 2018-01-02 01:13:45 -05:00
mmcw-dev 530a6fdd4f Install async module 2018-01-01 23:19:46 -05:00
mmcw-dev 3610d842b5 Display the current loop state below the loop counter setting 2017-12-20 17:12:45 -05:00
mmcw-dev df4eeb9d14 Remove a second require of the electron module 2017-12-20 01:20:37 -05:00
mmcw-dev 88fe5cf9eb Make pad borders thicker (looks good) 2017-12-20 01:20:20 -05:00
mmcw-dev afcc05a2e7 Remove unnecessary extra declaration 2017-12-20 01:20:07 -05:00
mmcw-dev 6c8607bbc5 Begin database module 2017-12-20 01:19:51 -05:00
mmcw-dev 26e3428fa8 Got UI working again. 2017-12-19 22:54:39 -05:00
mmcwilliams 339303c0c2 Update modules, use latest electron and fix bad requires. App is up and running, but needs debugging of the frontend and a fierce refactor. 2017-12-19 22:02:08 -05:00
Matt 236908993e Update requirements 2017-02-09 09:35:07 -05:00
Matt 76cd62449e Remove automatic transfer reporting 2016-06-29 12:01:17 -04:00
Matt 474af9c568 Capture and generate transfer report data 2016-06-21 15:53:07 -04:00
Matt c6fb0bfaa3 Add transfer listener to main.js 2016-06-21 15:25:46 -04:00
Matt 84a8df4a78 Make seq-ui module strict 2016-06-21 15:25:29 -04:00
Matt 7bbbf7ee7b Restructured eventEmitter into various modules 2016-06-21 12:12:14 -04:00
Matt cdd14b9ed5 Restructure main script 2016-06-21 11:05:44 -04:00
Matt 7e1a4be0cf Emit an event on arduino serial events
To be listened to by other modules
2016-06-21 11:04:57 -04:00
Matt c10252a9ee capture-report library for creating a telecine method
The purpose of this module will be to generate a report of the
projector actions that can be translated into rendering instructions
for a telecine.

First tests will be done on a Blackmagic Pocket Cinema camera which
will record a 4000 frame sequence (100ft of 16mm). The report will
allow me to record the entire sequence of the projector advancing 4000
frames and will make a list of acceptable frames to pull out for
stitching together into a sequence. It is amazingly inefficient in
terms of disk space, but will make this setup much cheaper than one
that requires purchasing hardware to capture images to disk during
operation.

Rubber ducking: The report will watch for projector start and end times
in milliseconds, with a “start” value to be factored in later. On every
projector start and end event, when capture is active, an event with
the millisecond of the occurrence is logged to the report. At the end
of the sequence, the report will be parsed to determine the acceptable
frames to export into a new sequence. This will be determined by
finding a period between proj_end and proj_start events and dividing
that into frames and picking the central most frame.

Acceptable frames, marked by frame numbers, get put into an render list
that gets pegged to a first frame and adjusted via offset. The export
list will be fed into a command that will go through either a video
file or an image sequence and output the determined frames into an
image sequence that will be stitched together with ffmpeg/libav.
2016-06-18 20:49:39 -04:00
Matt 79d61c4878 Compilation of app.js after push to modules
It’s, like, 100 lines shorter!
2016-06-18 20:16:04 -04:00
Matt 7313f415bf Move devices into module 2016-06-18 20:15:41 -04:00
Matt 70e1c1c28e Move nav ang gui to modules 2016-06-18 20:13:33 -04:00
Matt 507aabcb07 Cam moved to cam-ui.js module 2016-06-18 20:08:01 -04:00
Matt 8b483ce2ef Migrate proj object int lib/proj-ui.js
Modulize that sucker
2016-06-18 20:06:57 -04:00
Matt 38cd0ed1e4 Ignore transfer data files 2016-06-18 20:03:15 -04:00
mmcwilliams 0000beecc3 Add electron-prebuilt to install script
Needed when installing latest build
2016-06-10 17:57:41 -04:00
mmcwilliams e405c7a661 Improve install script by adding globals
Need gulp and electron installed globally to run
2016-06-10 17:55:55 -04:00
mmcwilliams b4fc5b9cef Add 3200 kelvin to color swatch options 2016-06-10 12:00:18 -04:00
mmcwilliams d9a18b5d43 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	ino/mcopy_camera_tests/mcopy_camera_tests.ino

Fixed gross conflict
2016-06-09 17:23:17 -04:00
mmcwilliams 11cdb9b514 Make mscript command line function
Can issue commands using GUI
2016-06-09 17:21:49 -04:00
Matt 763cb659d6 Timed exposure commands 2016-05-29 20:33:40 -04:00
mmcwilliams 5d2dcac4c4 CMYK controls almost fully functional
Need to better tie into swatch selection, and need to add UI to dials
themselves, but currently can display and change values with the inputs.
2016-05-18 18:05:43 -04:00
Matt 08e4738b86 Build out CMY controls for lighting 2016-05-16 10:41:24 -04:00
Matt 9532c8cd8f Migrate UI code into libraries 2016-05-16 10:41:11 -04:00
mmcwilliams ae2c490afd Establish CMYK controls in markup 2016-05-13 17:28:51 -04:00
Matt 8bb89e1a62 Add device identifiers to the configuration
These are characters that are sent to or received from mcopy devices
(camera or projector)
2016-05-04 21:03:54 -04:00
Matt 2697d9f721 Add notifier 2016-04-22 14:34:44 -04:00
Matt b44fc327c6 Hide spinner and overlay when clicking 2016-04-22 14:34:44 -04:00
Matt 47f0003123 Add notification handler to gui 2016-04-22 14:34:44 -04:00
Matt McWilliams a31335ee3a Create log directory on install of app 2016-04-22 12:37:58 -04:00
Matt 6c238609ad Add codemirror for editing mscript 2016-04-19 16:49:37 -04:00
Matt 83c9fba876 Block UI with overlay until devices are ready 2016-04-18 23:44:51 -04:00
Matt c6627308b0 Build with spin.js, codemirror, and mscript 2016-04-18 23:44:31 -04:00
Matt b30dfa7c78 Add codemirror files 2016-04-18 23:43:49 -04:00
Matt d613f33675 Duplicate cam/proj counters 2016-04-18 23:43:32 -04:00
Matt 2887182282 Sequencer and firmware work together 2016-04-18 21:52:38 -04:00
Matt f4b75d7398 Make mcopy-arduino work with multiple devices
TODO: partition the queue and locks so commands can overlap when
passing to different devices
2016-04-18 21:26:45 -04:00
Matt b6e4675673 Change Kelvin messaging
Use Temperature as the heading and Kelvin as the unit
2016-04-18 12:27:15 -04:00
Matt 479240a6c3 CAM/PROJ goto feature works within loops 2016-04-18 12:23:14 -04:00
Matt fc05992558 Add light setting feature to mscript
Can set a light to state to be used for all subsequent camera commands
2016-04-18 01:12:04 -04:00
Matt 95b3ec1874 Add light array to mscript output 2016-04-18 00:22:16 -04:00
Matt 1a47bf6387 Add mscript to renderer 2016-04-18 00:19:23 -04:00
Matt f17c00dea7 Restore sequencer functionality 2016-04-18 00:19:09 -04:00
Matt 4d11f1f985 Add cam functionality 2016-04-17 23:02:22 -04:00
Matt 24aebc4c31 Add projector communication between renderer and main 2016-04-17 22:22:18 -04:00
Matt c72eed3d5d Add kelvin edge-case UI states 2016-04-17 21:24:11 -04:00
Matt 3a1b038c1b Add kelvin selection UI
Set swatches and preview kelvin light
2016-04-17 20:34:18 -04:00
Matt 9da1ea6dbb Catch UI edge cases in gui.grid.swatch 2016-04-17 18:21:39 -04:00
Matt 3006e2e706 Lighting GUI complete
Able to store swatches of colors in active memory and apply to steps in
the sequencer
2016-04-17 17:55:23 -04:00
Matt d7414d9b7f 'use strict' all of mscript. made it 20% faster. 2016-04-17 10:28:20 -04:00
Matt 4c9b607efc Expanding mscript to take lighting commands 2016-04-17 08:53:48 -04:00
Matt 79e413aeb1 Change arduino namespace from mcopy to arduino 2016-04-15 18:17:59 -04:00
Matt c91baebfc4 Create configfile on first startup
Hide cfg.json from git
2016-04-15 18:16:14 -04:00
Matt b36082d0e7 Sequencer added 2016-04-14 00:17:42 -04:00
Matt 70af44f5f5 Fixed font-awesome 2016-04-13 17:36:12 -04:00
Matt 7bf84e067b Remove fonts because of git issue 2016-04-13 17:00:04 -04:00
Matt 5b1f306762 Remove outline around checkboxes 2016-04-13 16:59:22 -04:00
Matt 6dd6f755c9 Light icon works, log scroll still broken 2016-04-13 16:59:00 -04:00
Matt c4809047d5 Successfully change led color from colorPicker
:-3
2016-04-13 03:26:35 -04:00
Matt d02dd98700 Add colorPicker.js 2016-04-13 00:45:40 -04:00
Matt 923fb3c442 Display light color from UI with state displayed 2016-04-13 00:44:52 -04:00
Matt 680bd4ea3f Set light from UI 2016-04-13 00:06:19 -04:00
Matt 3fea43d0ea Retool arduino module 2016-04-12 23:14:27 -04:00
Matt a8065b559f log.info function created for writing to file 2016-04-12 23:08:56 -04:00
Matt 4100a0e2b0 Moment added 2016-04-12 23:08:42 -04:00
Matt 2b121f8ee0 Install winston, add server logging 2016-04-12 22:55:51 -04:00
Matt 59308536f6 Start logging on client side 2016-04-12 22:51:47 -04:00
Matt d0aea38b3f Add moment.js 2016-04-12 22:18:37 -04:00
Matt e4e8321e39 Add less build for styles 2016-04-12 22:06:06 -04:00
Matt 83a464b23c Add log to footer 2016-04-12 22:05:57 -04:00
Matt 12b6f72c43 Add font-awesome 2016-04-12 21:04:13 -04:00
Matt 6680abdce3 Restructure for gulp build of app.js 2016-04-12 20:53:28 -04:00
Matt 4b6d11cdc8 Add correct jquery 2016-04-12 13:57:59 -04:00
Matt 51c47b9f98 Detect if module 2016-04-12 02:19:35 -04:00
Matt 64bf3174d8 Add libraries
Add bootstrap w/ slate theme, effect.css, w2ui, jquery
2016-04-12 02:18:33 -04:00
Matt b9e75c983d Improved case switching for node/browsers 2016-04-12 00:38:01 -04:00
Matt 962fe68632 Add mscript tests 2016-04-12 00:21:31 -04:00
Matt 5d525c357d Properly check if module, process or web 2016-04-12 00:21:19 -04:00
Matt 35b5c04f9b comment out color tests 2016-04-12 00:08:35 -04:00
Matt 5802785ae0 Add mscript to project 2016-04-12 00:06:23 -04:00
Matt 2ca59c0be8 Refactored copy arduino into library with real tests.
Optimized copy light firmware from 1000ms response times to 10ms
2016-04-11 23:05:05 -04:00
mmcwilliams 9990943aed Sets light to 2500 kelvin as a test 2016-04-11 20:12:08 -04:00
mmcwilliams cdf5f67714 Improve light color test
Change the way that queue object is handled on responses
2016-04-11 18:03:22 -04:00
mmcwilliams 1e7d1519cf mcopy.arduino connects to mcopy_serial_tests 2016-04-11 17:26:32 -04:00
mmcwilliams 50a0a8b7a3 Correct version in cfg.json 2016-04-11 17:26:09 -04:00
mmcwilliams 02b32dd829 Chroma.js added for UI color handling
Communication with 8-bit color light source will be in slightly
atypical RGBA notation, so chroma.js will be used to allow the UI to
set colors in any color space and convert to rgba for the firmware.
2016-04-11 13:10:43 -04:00
Matt d902c26a70 Import work from mcopyJK 2016-04-11 10:49:57 -04:00
Matt 5ca261f15d Add all modules and rebuild script
node-notifier
node-uuid
electron-packager
electron-rebuild
2016-04-11 02:20:24 -04:00
Matt 8120fb16a1 got up to electron-quick-start level 2016-04-11 02:01:26 -04:00
Matt 94620d6b70 Create mcopy electron app 2016-04-11 01:56:06 -04:00