Commit Graph

279 Commits

Author SHA1 Message Date
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