Coder Social home page Coder Social logo

kodtrol's Introduction

Kodtrol

Kodtrol screenshot Above is a screenshot of a demo song project, LOOK MUM NO COMPUTER - GRANDMA'S MONEY
Other demos:

⚠️ Note: this software is still in alpha stage. Use at your own risk; expect breaking changes without prior notice.

Features roadmap (in no particular order)

  • Open Fixture Library integration
  • OSC/MSC/Serial outputs
  • MIDI timecode sync
  • Helpers Hub (where users can post their script helpers and share them)
  • Manual and docs on kodtrol.com

Local development / run from source

Requirements

  • Node.js >= 10.x.x
  • npm >= 3.6.x
  • Linux only: libasound2-dev package

Clone the repository and cd into it.
Then:

npm install
npm run rebuild
npm run dev

And in another terminal, run:

npm start

If all goes well, you should see the Welcome Screen allowing you to create a new project or open an existing one.

Local release build

Make sure you have installed the requirements from Local development above, then:

npm install
npm run rebuild
npm run build-and-dist

The build will be generated in the dist folder.

kodtrol's People

Contributors

h-s-o avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

alejoduque

kodtrol's Issues

Orphaned editors when deleting a script/timeline/board

If a script/timeline/board is deleted from the browser list at the same time that it is opened in a editor, the resulting editor tab will become orphaned and saving the editor tab at this point may result in a unstable app state.

There is no way to un-arm a board

Will probably remove the red eye buttons in the list headers in favor of a red eye button within the action button group's of each active script/timeline/board.

Light theme

Blueprint's dark theme is simply the bp3-dark CSS class added to the <body>.

We could auto-detect the user's OS theme settings and/or add an app-wide setting to override it.

Update dev stack

  • Switch from Parcel 1 to ESBuild
  • Update required node.js and npm versions

OS X

Hello, I have managed to compile under OS X but, although im giving the correct device address it doesnt seem to load or control my LM108 robot head LED Lamp. I can only see this error on the console:

[email protected] start /Users/a/Documents/Kodtrol
npx electron -r babel-register .

Attempted to load extension "React Developer Tools" that has already been loaded.
Attempted to load extension "Redux DevTools" that has already been loaded.
updateOutputs
updateInputs
updateDevices
Compiling script 1g8ol19ero0m 1
updateScripts
updateMedias
updateTimelines
updateBoards
DMX output
/Users/a/Documents/Kodtrol/src/renderer/Renderer.js:444
obj[input.id] = input.inputInstance.refreshAndGetStatus();
^

TypeError: Cannot read property 'refreshAndGetStatus' of null
at /Users/a/Documents/Kodtrol/src/renderer/Renderer.js:381:45
at Array.reduce ()
at Timeout.Renderer.updateIOStatus [as _onTimeout] (/Users/a/Documents/Kodtrol/src/renderer/Renderer.js:380:37)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

Please let me know how to get more meaningful information and thanks in advance for any help.

No audio output since commit 13cad3d

The updated Electron also includes an updated Chromium which now enforces a new Autoplay policy that requires user interaction with a page before unmuting audio.

Will check for a flag to use with enableBlinkFeatures or disableBlinkFeatures.

App closes / window behaviors on Linux

Notably:

  • Chosing File > Open project... with a project open asks you to close current project; when confirming, app quits instead of showing the Open project dialog
  • Create Project / Open Project dialogs from Welcome screen are not modal and appear unfocused behind the window

Remove sub-processes

The current app processes structure is like so:

Kodtrol main (Electron main)
  |-> Kodtrol UI (Electron renderer)
  |-> Kodtrol engine (spawned Node.js)
    |-> Kodtrol audio main (spawned Electron main)
      |-> Kodtrol audio webpage Howler.js (Electron renderer)

Must be turned into:

Kodtrol main (Electron main)
  |-> Kodtrol UI (Electron renderer)
  |-> Kodtrol engine webpage (Electron renderer)

Console output window

We'll need an independent console window to output future log() calls from scripts.

npm test

Hello, I wanted to beta test you software under linux manjaro and got close but, i think i need advice on how to get over it´s first initialization.

I´m using Node v6.14.8

(had some issues resolved with 2 commands in this thread laravel-mix/laravel-mix#2383 )

`~/Documents/Kodtrol >>> npm run test ±[●][the-big-refactor]

[email protected] test /home/a/Documents/Kodtrol
mocha --recursive -r @babel/register

Helper - clamp
✓ should pass value within range
✓ should clamp values outside of range

Helper - counter
✓ should init properly with default ID and return 0
✓ should increment properly with default ID
✓ should reset with default ID to 0
✓ should init properly with custom ID and return 0
✓ should increment properly with custom ID
✓ should reset with custom ID to 0
✓ should reset all

Helper - isEven
✓ should return true for even numbers
✓ should return false for odd numbers

Helper - isOdd
✓ should return true for odd numbers
✓ should return false for even numbers

Helper - sequence
✓ should return for null or empty array
✓ should init properly with default ID and return first item
✓ should advance properly and rollover with default ID
✓ should reset with default ID if the array is shorter than the current index
✓ should reset properly with default ID
✓ should init properly with custom ID and return first item
✓ should advance properly and rollover with custom ID
✓ should reset with custom ID if the array is shorter than the current index
✓ should reset properly with custom ID

DmxDevice
✓ should construct without using with initial data
✓ should have proper getter values
✓ should have proper method results
✓ should update without errors
✓ should have proper getter values after update
✓ should have proper method results after update
✓ should set the proper numerical channel
✓ should set the proper aliased channel
✓ should get the proper numerical channel default
✓ should get the proper aliased channel default
✓ should destroy without errors

IldaDevice
✓ should construct without errors using initial data
✓ should have proper getter values
✓ should have proper method results
✓ should update without errors
✓ should have proper getter values after update
✓ should have proper method results after update
✓ should destroy without errors

MidiDevice
✓ should construct without errors using initial data
✓ should have proper getter values
✓ should have proper method results
✓ should update without errors
✓ should have proper getter values after update
✓ should have proper method results after update
✓ should destroy without errors

RootTimelineRenderer
1) should construct without errors using initial data
2) should destroy without errors

47 passing (69ms)
2 failing

  1. RootTimelineRenderer
    should construct without errors using initial data:
    TypeError: this._timeline.on is not a function
    at RootTimelineRenderer._setTimelineAndItems (src/renderer/rendering/renderers/root/RootTimelineRenderer.js:29:20)
    at new RootTimelineRenderer (src/renderer/rendering/renderers/root/RootTimelineRenderer.js:24:10)
    at Context. (test/renderer/renderers/RootTimelineRenderer.test.js:21:16)
    at processImmediate (internal/timers.js:461:21)

  2. RootTimelineRenderer
    should destroy without errors:
    TypeError: Cannot read property 'destroy' of undefined
    at Context. (test/renderer/renderers/RootTimelineRenderer.test.js:25:14)
    at processImmediate (internal/timers.js:461:21)

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] test: mocha --recursive -r @babel/register
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/a/.npm/_logs/2020-12-08T23_25_14_790Z-debug.log
`

Any advice welcomed and btw, thanks for putting out your software

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.