Matt McWilliams
02639466ee
By doing a check for active clients during the sequencer start and stop actions, the local display is no longer used. Resolves first part of #20 .
2023-02-25 17:00:11 -05:00
Matt McWilliams
6e2795d380
Remove ACK messages for ping, rely on
2023-02-25 16:33:55 -05:00
Matt McWilliams
8e35596088
Fixed the iOS issue. Also allow for fullscreen on all browsers (with no sleep). Can preview properly but normal mode does not work
2023-02-25 16:32:08 -05:00
Matt McWilliams
0162d012c5
Server can now display images and will completely preempt local display when done
2023-02-25 13:22:20 -05:00
Matt McWilliams
47fb673b78
Combined script and html into single request (problems with iOS safari).
...
Can get script loaded but still cannot connect to websocket server without SSL.
ALSO: Now can pre-empt opening new display if an active client is connected to server.
Otherwise will open a local link.
2023-02-25 13:11:40 -05:00
Matt McWilliams
f296488bc2
Further progress on #20 . TODO: Image display logic on the server side. Need to add image to proxy list and give it a properly-extensioned name and cmdAll.
...
ALSO: Server is not working on iOS.
2023-02-25 12:40:35 -05:00
Matt McWilliams
f5392aea9f
Resolves #74
2023-02-25 12:33:18 -05:00
Matt McWilliams
24b1301f9f
Adding contextIsolation: false to the display module fixes the initial issue in #74 , cannot use "require" but the escape button does not work due to "Cannot read properties of undefined (reading 'getCurrentWindow')"
2023-02-25 12:16:47 -05:00
Matt McWilliams
1290a8f324
Major progress on #20 . Promised-based websocket command structure is completed. All functionality needs to be placed into individual classes and any new functions get added to the server.
...
Will create entire thin client using this method.
2023-02-25 11:59:56 -05:00
Matt McWilliams
e64277e438
More work on #20 . Fix typos in display code. Should re-work script into transpiled ts file.
2023-02-25 02:08:56 -05:00
Matt McWilliams
c9bcb74a9f
Progress on #20 . Can start up a server and serve client.js
2023-02-25 02:08:05 -05:00
Matt McWilliams
42db1f81b8
Server work
2023-02-25 00:24:07 -05:00
Matt McWilliams
744f10c948
Display version in app
2023-02-19 11:36:06 -05:00
Matt McWilliams
6116ada2fd
Getting a new error when compiling delay library. Attempt to stop autogenerating d.ts files.
...
src/delay/index.ts:11:10 - error TS2384: Overload signatures must all be ambient or non-ambient.
2023-02-19 00:55:17 -05:00
Matt McWilliams
ebc5504998
Add commands for takeup
2023-02-19 00:29:07 -05:00
Matthew McWilliams
5026cf869f
Arri-S work
2022-10-07 19:47:56 -04:00
Matthew McWilliams
72b5077356
Restructure includes and type definition files so that mscript runs
2022-08-07 22:18:58 -04:00
Matthew McWilliams
6601c030f7
Refactor mscript GUI code into Typescript
2022-08-07 22:10:53 -04:00
Matthew McWilliams
3ec1373f08
Caught a possible ancient bug in the loop logic for calculating state of camera and projector backwards movements.
2022-08-07 17:23:06 -04:00
Matt McWilliams
fe61e63e76
Add secondary projector and camera commands to the mscript module
2022-08-04 10:52:00 -04:00
Matt McWilliams
ee0ab663d7
Complete the alert feature. Have not created pause, but this could be done using the same alert object to prevent code duplication.
2022-08-03 09:02:47 -04:00
Matt McWilliams
3f759f5678
Add the ability to detect a single capper device
2022-07-17 09:57:52 -04:00
Matt McWilliams
9d0545aa4f
All capper features in app, can shoot blank frames, can turn on capper independently and can schedule blank frames in the sequencer. Some cleanup may be needed but there are no noticeable regressions in the app. TODO: Finish all arduino scripts.
2022-07-15 18:11:26 -04:00
Matthew McWilliams
70c2c695f0
All capper work. Need to wrap all actions in the 'b' command and push functionality to a lower level to prevent unneeded complexity.
2022-07-13 15:21:26 -04:00
Matt McWilliams
585c47d6c7
Allow capper identifier in list of acceptable responses.
2022-06-13 08:08:42 -04:00
Matt McWilliams
129647b863
App work
2022-06-12 13:37:00 -04:00
Matt McWilliams
f585aa2a5a
Upgrade electron 11 -> 19 (huge jump). Install new remote module to preserve legacy communication protocol.
2022-06-04 11:11:23 -04:00
Matt McWilliams
bbfe6fc657
Add option to use Processing with a server as a capture method triggered by the camera.
...
Enter a url into the Settings panel in the Processing URL input box and select the radio button.
2022-04-30 15:58:17 -04:00
Matt McWilliams
8c14a06b96
Removed naked console.log statements that were used to debug a serial issue. If needed they can be re-added to the actual log library.
2021-03-19 12:10:07 -04:00
Matt McWilliams
3e0ac3f0d0
Added return types to Filmout library and added return types to comments where needed.
2021-03-19 12:09:03 -04:00
Matt McWilliams
8a6bc0b4f5
Fixed video export, still sequence selection
2021-03-18 11:27:53 -04:00
Matt McWilliams
a2af605d37
Filmout needs to receive the whole state, not just the frame. Still broken.
2021-03-18 10:00:49 -04:00
Matt McWilliams
31c701734a
Corrected a UI issue with selecting directories of non-supported images. Works on macOS now with videos, images and image sequences. Testing on linux again before resolving.
2021-02-24 11:50:15 -05:00
Matt McWilliams
fb7b1e2fb6
Added an edge-case helper for choosing files/directories in linux. This finishes the requirement for issue #50 on linux, but will test changes on macOS before marking the issue resolved.
2021-02-24 10:05:45 -05:00
Matt McWilliams
c0121bcfe7
Have seemingly added the ability to use image sequences with the filmout feature with a few caveats. File selection is working on mac but was not on Linux. Also using this method only jpeg and png sequences can be used. This is not unacceptable, but the UI will have to be made more explicit about this limitation. I would like to support TIFF files but even now with single images they are rendered to PNG using ffmpeg.
2021-02-24 00:22:08 -05:00
Matt McWilliams
66639e951b
Allow for the selection of a video file, image or directory containing images to be selected in the filmout UI.
2021-02-23 19:54:03 -05:00
Matt McWilliams
53d147b9bc
Add lstat and "directory" property onto the filmout.state object.
2021-02-23 19:53:22 -05:00
Matt McWilliams
ad1ac51fc8
Need to enableRemote in the electron browser window that gets created by filmout.
2021-02-23 16:16:17 -05:00
Matt McWilliams
85bfa57127
Update all modules in app to latest version, including electron. Removed electron updater because of no plans to integrate and to reduce the app size.
2021-02-22 13:23:36 -05:00
Matt McWilliams
338a60f947
Restructure function to match convention. Declare all variables in the beginning of the function rather than declaring them throughout. Small edit while I re-read the UI code and build the file sequence feature.
2021-02-22 13:12:27 -05:00
sixteenmillimeter
e84f1ce8ff
Add additional logging
2020-10-03 21:33:45 -04:00
sixteenmillimeter
7c9543239e
Rest of last commit. Renderer js
2020-09-29 13:57:59 -04:00
sixteenmillimeter
7c61af7043
Added logging to the arduino module to list all connected devices.
2020-08-18 14:20:43 -04:00
sixteenmillimeter
f02782d4da
Increment build to 1.6.4. Re-package and deploy for mac
2020-08-09 23:39:52 -04:00
sixteenmillimeter
32356b0037
Log doesn't need to print its own path.
2020-08-09 23:25:55 -04:00
sixteenmillimeter
0145bebb4b
Turn off notifier if errors out
2020-08-09 20:03:48 -04:00
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