sixteenmillimeter
f0c28b8624
Properly count number of frames in animated gifs using `identify` from imagemagick because ffprobe was failing.
2019-08-15 15:25:33 -04:00
mmcwilliams
cfa22d3a1d
Replace native js confirm() with a new gui.confirm() method that uses electrons "dialog" module. Resolves issue #25
2019-08-04 19:52:52 -04:00
mmcwilliams
7c50b66499
Updated gui mscript lib to use .meta instead of .light when preparing an mscript sequence.
2019-07-26 19:59:16 -04:00
mmcwilliams
97591b1c1d
Support gifs and stills in filmout
2019-07-24 22:00:23 -04:00
mmcwilliams
b5da7ba233
Filmout supports still images. Uses FFMPEG to convert to png, still. Should use sharp and re-sample the image to the maximum allowed for the screen in the smallest dimension.
2019-07-07 00:02:01 -04:00
mmcwilliams
084916c317
Preview a frame using the webview. Select monitor to display images on. Wooo!
2019-06-26 20:08:49 -04:00
mmcwilliams
f239f862e8
Fixed frame counting optimization, resolving issue #17 . Also added a Siemens Star focusing screen, a middle gray metering screen and a field guide screen for use with the filmout feature. TODO: actually change monitors when selected.
2019-06-25 12:13:15 -04:00
mmcwilliams
872b46d4a5
Filmout display monitor size with stats
2019-06-24 21:11:14 -04:00
mmcwilliams
ddfc46a48f
Delete devices.js backup
2019-06-24 15:04:24 -04:00
mmcwilliams
ad67e2f010
Add devices module after refactor
2019-06-24 14:31:26 -04:00
mmcwilliams
49f9f7f160
Display will now show a meter screen (middle grey) when instructed. Not wired to anything, got distracted by the re-naming shenanigans.
2019-06-18 15:47:17 -04:00
mmcwilliams
22187777e7
Remove node-side digital lib and replace with filmout lib. Still remaining: rename internal uses of "dig" or "digital" to "filmout", including markup on the frontend.
2019-06-18 15:42:30 -04:00
mmcwilliams
d6da1824cd
Rename UI files
2019-06-18 15:25:28 -04:00
mmcwilliams
23d663c3e7
Create digital.ts and devices.ts. Begin rewriting devices as-is and then refactor the existing digital features into digital.ts. Gonna rename, screw it.
2019-06-18 15:19:57 -04:00
mmcwilliams
7740dc39ec
Include in last commit
2019-06-15 11:06:57 -04:00
mmcwilliams
dab5c34bad
stash progress
2019-06-14 11:29:52 -04:00
mmcwilliams
8ddc6e5a20
Promisify gui.notify. Will not run it synchronously, but is nice to have.
2019-05-28 17:47:39 -04:00
mmcwilliams
f015a6f2c5
Display the time of the completed sequence when passed from main process.
2019-05-28 17:46:53 -04:00
mmcwilliams
1fd3b83ca1
Mscript does not need a callback. Remove from compile() method
2019-05-28 17:42:42 -04:00
mmcwilliams
da6fef6080
Notify on mock device connectio
2019-05-28 17:41:39 -04:00
mmcwilliams
02ca59ea7e
Removed the "undefined" lines from occurring. Code is a mess, but won't break anything else... for now.
2019-05-28 14:10:00 -04:00
mmcwilliams
ce226a7f86
Calculate stats on device.ready
2019-05-28 13:41:25 -04:00
mmcwilliams
4ea390897a
Refactored seq.js to Typescript and fixed stats for 1 cam 1 proj. Will need further work to add in multiple devices. Resolves #6 .
2019-05-28 13:33:16 -04:00
mmcwilliams
c942d89572
Wire goto button on projector 2 and camera 2 to cmd.projector_second_to and cmd.camera_second_to. Resolves #9
2019-05-28 12:52:50 -04:00
mmcwilliams
d0cc8eca70
GOTO counter error on projector 2 was due to a CSS error. Resolved #8 . Increment patch number.
2019-05-28 12:28:45 -04:00
mmcwilliams
1b3f554492
Caught the "to sequence" bug. Had not fully updated code. Resolves #5
2019-05-28 10:15:57 -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
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
mmcw-dev
b33ef36ab4
Work on multiple device UI
2019-04-16 10:01:42 -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
96754fcf49
Work on progress bar.
2019-04-02 10:21:01 -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
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
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
42691c1577
All work on grid + sequencer rewrite.
2019-03-22 17:06:57 -04:00
mmcwilliams
553d2bbb0d
Made progress on sequencer module, renamed from sequence.
2019-03-22 04:33:53 -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
4356abc820
Disable light from the UI if necessary. Kind of circuitous, will refactor.
2019-03-21 22:55:12 -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
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
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
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
6faf78b92e
Merge remote-tracking branch 'origin/master'
2019-03-21 15:08:54 -04:00
mmcwilliams
56aba1eaba
Refactor cam module into cam module.
2019-03-21 14:59:46 -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
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
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
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
e186b1b9fc
Write arg.profile and not the HTML element profile to log
2019-03-08 22:32:43 -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
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
b481906c86
Add video screen, to be used for better control of the digital projector.
2019-02-26 21:54:46 -05:00
mmcwilliams
8b2095227c
Add case for updating the UI when second projector connected.
2019-02-26 16:43:38 -05:00
mmcwilliams
c964410f7b
Add variable for tracking whether or not light feature is disabled.
2019-02-26 16:42:54 -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
54ab121e89
Feeble first attempt at documenting code
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
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
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
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
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
mmcwilliams
52350b2325
Update mscript usage
2018-06-16 23:19:58 -04:00
mmcw-dev
fc73859f8f
Use lighting steps to the GUI and when executing.
2018-03-16 12:59:23 -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
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
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
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
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
e28c349c75
Migrate mscript functions into their own source file
2018-03-04 23:55:31 -05:00
mmcwilliams
4dccefc126
Write new profile setting to settings.json file when changed
2018-02-07 13:44:24 -05:00
mmcwilliams
3ac7733635
Refactor lib/gui/index.js to use const/let
2018-02-01 14:55:20 -05:00
mmcwilliams
62eb54ce49
Add the beginnings of the move_to feature
2018-02-01 14:53:46 -05:00
mmcwilliams
34a7d37b7b
Save devices state
...
Restore state
Switch to use intval as camera
2018-02-01 14:52:47 -05:00
mmcwilliams
96eb24ac6d
Add messaging to the device connection process.
2018-01-31 21:46:37 -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