Commit Graph

165 Commits

Author SHA1 Message Date
mmcwilliams 7c4e9d5823 Add jsdoc comments to ffmpeg lib. Also added types for tsc where they were implicit any type. Also added some semi-colons. Whoops. 2019-08-04 17:31:27 -04:00
mmcwilliams 5695bfd645 App was throwing error during filmout. Re-wrote the resizing logic so that if it can't find dimensions in the info, don't resize the image. This may lead to squashing, as I've seen in frameloom, but I suspect this problem is with the UI and the superfluous "USE FILE" button. 2019-08-04 17:20:45 -04:00
mmcwilliams c5f3c72f73 All workshop work. Freeze dev on mac and test on linux 2019-07-29 12:45:13 -04:00
mmcwilliams 7e05b5f680 Fix dual projector bug and increment patch. 2019-07-27 08:47:35 -04:00
mmcwilliams 96d0897f65 Made a breaking change to the mscript module: light array is now the "meta" array to allow for types of commands other than camera movements to have associated metadata. The two driving motivations for this change are the proposed alert feature which will have a string message as its metadata and the proposed pause feature, which will have seconds as its metadata.
Updated tests as well. Still need to change behavior in the mscript.js gui lib.
2019-07-26 19:54:22 -04:00
mmcwilliams c01f3ceff8 Add jsdoc comments AND semi-colons to sequencer module. 2019-07-26 19:03:42 -04:00
mmcwilliams 4023704d31 Added missing jsdoc comment to method "fade_rgb". 2019-07-26 18:57:17 -04:00
mmcwilliams 798e9ce1a3 Fixed comments in system module to reflect the fact that dependency check happens by executing 'which {cmd}' and storing the response as the absolute path to the binary. If which returns a blank string, dependency is marked not present. 2019-07-26 18:31:22 -04:00
mmcwilliams 6612ffa6d1 Add jsdoc comments to cmd module 2019-07-26 18:30:10 -04:00
mmcwilliams 07100a588c Add jsdoc comments to remaining methods. 2019-07-26 18:12:06 -04:00
mmcwilliams 0b2d386ca2 Compile mscript with Typescript 2019-07-26 17:28:27 -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 60147e3b0f Increment patch 2019-07-07 00:00:14 -04:00
mmcwilliams 504912009b Increment patch number of version across the project. 2019-06-26 20:10:18 -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 b5465384ce Increment package version 2019-06-26 16:10:04 -04:00
mmcwilliams 45f96e6537 Give macOS an extra 300ms to open and fullscreen a webview 2019-06-26 16:09:14 -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 6b10e9c28d System module phones home 2019-06-24 12:42:27 -04:00
mmcwilliams d15fe37de5 Add a dependency check for the convert command 2019-06-24 11:37:07 -04:00
mmcwilliams 5014a2db38 Remove systeminformation module from system lib 2019-06-24 11:26:28 -04:00
mmcwilliams 6cda9aed1d Beginnings of the film out display selection UI 2019-06-22 11:52:36 -04:00
mmcwilliams 9a464a2fcf Unsafe-eval was throwing an error on compile 2019-06-22 11:52:14 -04:00
mmcwilliams e25054117f Only require join method from path. Don't need the whole dang thing. 2019-06-18 16:57:35 -04:00
mmcwilliams 2e4ef09a60 Apply new patch version everywhere. 2019-06-18 16:54:22 -04:00
mmcwilliams 717cf77e55 Rename all uses of the previously-named "digital" module to "filmout" in sequence module. Woo! Let's call that a patch. 2019-06-18 16:54:08 -04:00
mmcwilliams ede6fcdfb8 Rename all uses of the previously-named "digital" module to "filmout" in proj module. 2019-06-18 16:52:26 -04:00
mmcwilliams 6fcb85bca2 Remove unused "digital" attribute from camera state. 2019-06-18 16:50:28 -04:00
mmcwilliams 0cff7c5794 Rename all uses of the previously-named "digital" module to "filmout" in cam module. 2019-06-18 16:49:49 -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 5cd6b22ea4 Only use webview in full screen mode for now on all platforms. EOG is trickier and flickers the entire screen into view between frames, which is unsettling. Will look for a lower-level solution than webviews, but works for now. Also, uses real fullscreen on macOS instead of just maximizing the window. 2019-06-18 13:47:55 -04:00
mmcwilliams 32f02d42ce During the film out mode, the webview now correctly handles "closed" events when the user manually closes the window. The window also now closes at the end of a sequence (caught a typo) and correctly removed the webview from the WebView object when it does not exist. Resolves #15 2019-06-18 13:35:50 -04:00
mmcwilliams 7740dc39ec Include in last commit 2019-06-15 11:06:57 -04:00
mmcwilliams 76c7b49142 Import delay and add comments to digital. Starting work on film-out improvements. 2019-06-14 12:00:22 -04:00
mmcwilliams 5b418aeccd Camera module imports intval class properly. 2019-06-14 11:59:47 -04:00
mmcwilliams b5fbe0153b Refactor intval module into Typescript. 2019-06-14 11:58:35 -04:00
mmcwilliams 6442d99817 Update delay, exec and exit usage and require statments. 2019-06-08 21:43:14 -04:00
mmcwilliams e3d213e4f1 Ported ffmpeg, ffprobe, exit and exec modules to typescript 2019-06-08 20:51:00 -04:00
mmcwilliams d8e5e4521a Increment patch number. Commit 418670ce33 resolves #14; 2019-05-28 17:53:23 -04:00
mmcwilliams 418670ce33 Time a sequence and pass back value of milliseconds back when sequence stops. 2019-05-28 17:48:42 -04:00
mmcwilliams 9a0ebcca06 cfg has latest version number 2019-05-28 17:41:23 -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 2e8d20f40a Update comments on devices module. 2019-05-28 12:16:01 -04:00
mmcwilliams 5c9091d957 Can't reproduce issue #13. Appeared on installation of unknown version. Close #13 for now. 2019-05-28 10:33:31 -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 67a009ae8d Increment patch to reflect changes that resolved issue 3 2019-05-28 09:15:29 -04:00
mmcwilliams 39301f5b59 FOUND THE BUG causing #3. Mscript still needs full conversion to typescript. This would have been caught on compile. Resolves #3, create a new issue for mscript refactor. 2019-05-28 09:06:59 -04:00
mmcwilliams ad558608ee All remaining dual projector, dual camera work. 2019-04-20 10:15:28 -04:00
mmcwilliams a241ef0a2a Update config 2019-04-20 10:14:22 -04:00
mmcw-dev b33ef36ab4 Work on multiple device UI 2019-04-16 10:01:42 -04:00
mmcw-dev ed14564de7 Fix issue of false positives on detecting second cmaeras and projectors 2019-04-15 16:15:34 -04:00
mmcw-dev 52aac3f8b0 Settings module restores state to a default on "restore" 2019-04-15 16:13:28 -04:00
mmcw-dev 4f7dd92311 Update the silent log methods to return false. 2019-04-15 16:11:18 -04:00
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 cda100b3e6 Electron build works again on debian-based linux. 2019-04-03 18:58:13 -04:00
mmcwilliams 072c67fd0f Update counters. Use local state within objects cam and proj instead of mcopy.state 2019-03-30 20:29:01 -04:00
mmcwilliams 3e5bda77db Move docs generation to host repo 2019-03-30 17:56:31 -04:00
mmcwilliams 1510762fbb Sequencer uses class variables that are either set using arguments passed from the renderer, or uses the variables named "grid" referring to the grid.js gui. 2019-03-29 20:44:12 -04:00
mmcwilliams 429e66717d Files from previous commit 2019-03-24 00:25:16 -04:00
mmcwilliams 43ee0d0672 Sequence now runs entirely in the main process. Renderer no longer stores the sequence, it is a for loop inside the main process. 2019-03-23 21:58:22 -04:00
mmcwilliams e35c41791b Create a system lib that can be used in the UI and cli. 2019-03-22 20:29:36 -04:00
mmcwilliams b02b92c1c7 Update version across the repo. 2019-03-22 20:29:09 -04:00
mmcwilliams 1413e323f0 Install private modules in the cli project 2019-03-22 19:52:59 -04:00
mmcwilliams 5717fc8cfe Add a build script to build cli with pkg. 2019-03-22 19:50:46 -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 425dd9fd6a Initial updates to sequence module. Will try to simplify into a for loop, but if tests fail will re-write to a similar form as the renderer seq.js module 2019-03-22 03:22:33 -04:00
mmcwilliams 4356abc820 Disable light from the UI if necessary. Kind of circuitous, will refactor. 2019-03-21 22:55:12 -04:00
mmcwilliams 41a5fd087d Last work on display for tonight. Add a boolean attribute "opened" to re-open the digitalWindow if closed. 2019-03-21 22:54:49 -04:00
mmcwilliams 742adccf34 Took a tiny detour on the film out feature, or "digital projector". This now avoids showing a browser window fullscreen on mac, which is having performance issues when opening and then running sequences. There is a major source of lag, seemingly coming from the camera? Need to test with fake projector to see if there's a problem with the arduino lib. 2019-03-21 22:33:30 -04:00
mmcwilliams 0ff1b5ff7d Refactor display module into typescript 2019-03-21 21:18:13 -04:00
mmcwilliams 48e8415ee4 Rename all keys to full "camera_" vs "cam_" and "projector_" vs "proj_" for consistency across the app.
Successfully separate and refactor gui.grid object to gui.
2019-03-21 21:02:28 -04:00
mmcwilliams e5a1654341 Use local id string so that duplicate instances of the classes can talk to one another. 2019-03-21 19:45:48 -04:00
mmcwilliams 6d1e9ec78f Print state for now. Need to store position in it? Make resetting it simple. 2019-03-21 19:36:37 -04:00
mmcwilliams fe046027da In camera and projector modules, for both main and renderer, use a string id to bind ipc paths and set up the ability to then have multiple of the proj, cam or even light class. Need to do light. 2019-03-21 19:34:56 -04:00
mmcwilliams 600a0abc72 Create and install main process lib to control the cmd.js module 2019-03-21 19:33:01 -04:00
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 c563bf0dd3 Add a label argument to the log module. 2019-03-21 15:54:55 -04:00
mmcwilliams f5f23284a3 Uncomment digital state interaction in proj module 2019-03-21 15:31:17 -04:00
mmcwilliams 1b6c56b2ad Sequence module compiled 2019-03-21 15:06:37 -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 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 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 9b4525e5a7 Refactor logFile function for readability.
Add comments to the log library. Build logs.
2019-03-18 16:50:40 -04:00