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
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