Commit Graph

354 Commits

Author SHA1 Message Date
sixteenmillimeter 74621ef1fb Squashing notifier/notify-send errors on raspian. If the system doesnt work with node-notifier just skip 2020-07-27 11:43:55 -04:00
sixteenmillimeter 0811222d27 Normalize paths being used in filmout feature. Purpose of this is to rely on fs module to correctly handle paths for windows because it was previously broken. Will run tests. 2020-07-26 22:26:34 -04:00
sixteenmillimeter 0c364576c9 Squash errors in case of mkdir trying to create an existing directory (need mkdirp, but this works without an extra module) 2020-07-26 22:01:28 -04:00
sixteenmillimeter 5c691a8e12 Fixed serialization error that was breaking raspberry pi 4 installation. It is apparently a real bug that should be breaking the app. 2020-07-26 21:52:53 -04:00
mmcwilliams cc41b75130 FFMPEG not working yet 2020-04-24 22:12:56 -04:00
mmcwilliams f929ea2cc2 No, use ffmpeg-static and ffprobe-static but explcitly whitelist the node_modules bin folder where the binaries actually sit 2020-04-24 17:22:58 -04:00
mmcwilliams d4987ed3a3 Replace ffmpeg-static and ffprobe-static with ffmpeg-static-electron and ffprobe-static-electron. These will allow for packaging ffmpeg and ffprobe binaries that can be accessed from within the build. The path replace string hacks weren't cutting it. 2020-04-24 16:01:09 -04:00
mmcwilliams da00c62db3 FFMPEG and FFPROBE need to be stored unpacked in asar for build. 2020-04-24 15:09:51 -04:00
sixteenmillimeter 01cac728f5 Remove ImageMagick dependency. Replace sharp with jimp (prevent linux build issues). Jimp will also perform the same composite step as convert was. Light module is still disabled globally. 2020-04-24 14:33:58 -04:00
sixteenmillimeter 8d5663d3a2 Drop unnecessary console.dir statement 2020-03-09 15:58:36 -04:00
sixteenmillimeter 1c940d6df7 Display export progress and time estimate while all frames are being exported 2020-03-09 15:46:06 -04:00
sixteenmillimeter e25a8bbc7c Use the gui.confirm dialog and not the native confirm function. 2020-02-21 16:58:35 -05:00
sixteenmillimeter d70de98256 Pre-export all frames in video (with confirmation dialog). Greatly improves sequence times and reliablity in conjunction with last commit. Resolves #36 and resolves #39. 2020-02-21 13:34:22 -05:00
sixteenmillimeter aec3e29476 Wait until image is loaded in a temp element and then report back to main process using ipc. This uses the "display_load" ipc channel to call back to the Display class and resolve a promise made in the .show() method. Resolves #38. 2020-02-21 02:28:26 -05:00
sixteenmillimeter 32fe873707 Allow for longer videos by using longer padded numbers for sequences 2020-02-21 01:58:56 -05:00
sixteenmillimeter 549cd3cc04 1.5.2 changes. Build includes code not in repo :( 2020-01-21 11:38:50 -05:00
sixteenmillimeter 8dc955a5e7 FFprobe added as static binary. Needed for filmout feature. 2020-01-20 11:51:15 -05:00
sixteenmillimeter ed75924e24 Filmout release 1.5.0. 2020-01-20 01:37:38 -05:00
sixteenmillimeter 691e741d70 Add check for convert. Never used. 2020-01-20 01:15:20 -05:00
sixteenmillimeter 35b8b0def2 Fixed some counter confusion. Setting the primary and secondary projectors with correct variables. 2020-01-19 01:39:57 -05:00
mmcwilliams 529c275c0f Filmout needed update in use of dialog class. ffmpeg-static needed to reference the required module, not .path 2020-01-19 00:36:58 -05:00
mmcwilliams d604f2aab5 Resolved #28 issues with color selection in the GUI. Performing final tests before 1.5 release. On release will use new repo tagging methods and will build more frequently. 2020-01-14 12:48:15 -05:00
mmcwilliams b0c7e4eed4 Created a new, custom superior log format with timestamps and "splat()" objects. Tired of parsing json from logfiles for analysis. Now can easily grep through logfiles. 2020-01-14 11:51:25 -05:00
mmcwilliams c6d0256929 Compile renderer js with tsconfig.json file. Add maps. 2020-01-10 16:43:12 -05:00
sixteenmillimeter fc2593c6ee Resolves #34. Added delay lib to renderer and added a magic delay before ending devices.ready(). Just works. Move on and don't question it. 2020-01-09 18:06:18 -05:00
sixteenmillimeter 4c0aa4220c Log with "simple" format, no more json in the console. 2020-01-09 18:05:10 -05:00
mmcwilliams 42621bbf71 Devices discovery WIP 2020-01-05 12:40:38 -05:00
mmcwilliams 4c8c2b66f3 Serialport library was updated and changed to Promise-based returns from callbacks as was being used in the arduino lib. 2019-12-18 17:17:48 -05:00
mmcwilliams c6ebab4032 Post upgrade, log library needs to be upgraded to support winston 3.x API 2019-12-18 16:05:58 -05:00
mmcwilliams 8e4c32073a Sequencer now blocks system sleep while running a sequence. Made me upset last night when it happened during a filmout and I shot 1000 frames of black. Resolves #26 2019-10-04 14:36:26 -04:00
sixteenmillimeter 9b2ed018bf If filmout picture source is set, set the field guide to match the aspect ratio of the image. Right now that only works if ratio is lower than the screen. Need to add case in display.html that corrects for when screen ratio is lower than image ratio. 2019-08-25 15:26:43 -04:00
sixteenmillimeter 51acbdfd30 Add comments to filmout lib. 2019-08-25 14:59:39 -04:00
mmcwilliams 5ce0aed2ff Use module "ffmpeg-static" to use a binary of ffmpeg stored in node_modules, rather than rely on the system version. 2019-08-23 15:39:38 -04:00
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 1b83fe6937 Downgrade winston from 3 to 2 because it prints better in the console. Change all require statements to imports, requiring only what's used. 2019-08-04 19:38:45 -04:00
mmcwilliams 2ff98a2148 Refactor ffprobe into a class. Add jsdoc comments to all methods. 2019-08-04 18:04:06 -04:00
mmcwilliams 30c36baa9c Add comments and switch in logger module for console.log 2019-08-04 17:54:38 -04:00
mmcwilliams bd79025305 Refactored ffmpeg module into a class. Add a logger, not implemented. Not tested. 2019-08-04 17:42:27 -04:00
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 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 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 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 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 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 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 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 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 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 3aeb971b4d Merge remote-tracking branch 'origin/master' 2019-06-14 11:31:13 -04:00
mmcwilliams dab5c34bad stash progress 2019-06-14 11:29:52 -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 418670ce33 Time a sequence and pass back value of milliseconds back when sequence stops. 2019-05-28 17:48:42 -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 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 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 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