Skip to content

Commit

Permalink
Released 0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
pr1csynth committed Jul 22, 2016
2 parents d84bf8e + 2073708 commit 2af39e9
Show file tree
Hide file tree
Showing 104 changed files with 6,178 additions and 834 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Ant
/build/

# pack.sh
/releases/

# mashine
*.mashine

# sublime
*.sublime-*

53 changes: 32 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
# WHAT ?

MaShine is a software to do live light show using live audio analysis, prerecorded animations (sequences of frames), filters (function, algorithm written (inside or outside the software, using javascript maybe, I hope.)), midi input, Open Lighting Architecture for DMX/ArtNet output.
MaShine is a software to do live light show using live audio analysis, prerecorded animations (sequences of frames), filters (function, algorithms, effects, ...), MIDI/DMX input, Open Lighting Architecture for DMX/ArtNet output.

You can check the draft version here : https://github.com/procsynth/ShineProcessing
![mashine](https://cloud.githubusercontent.com/assets/321345/14266488/eed3cbbc-fac8-11e5-8db3-842b1792f12e.png)

# HOW
# HOW TO USE
Download the [latest build](https://github.com/procsynth/MaShine/blob/devel/dist/mashine.jar?raw=true). You may want to install [OLA](https://www.openlighting.org/ola/) to output real DMX, but you can still use MaShine without it.

Require Processing 3, Java 8 and ant to build. Run `ant` in the root folder to build and run, or `java -jar dist/mashine.jar` to run.
Midi device only tested on Linux. Otherwise it should be crossplateform.
Midi devices only tested on Linux. Otherwise it should be crossplateform (OLA is only available on Linux and OSX).

## What the hell are you doing ?
TODO : user manual.

- 10:25 10 fev 2016 : implementing focusable
- 15:12 10 fev 2016 : implemented focusable, nice mouse related elements methods
- 15:13 10 fev 2016 : what could I do now ?
- 20:00 10 fev 2016 : little pack script.
- 02:00 11 fev 2016 : added all the colors \o/
- 08:30 11 fev 2016 : TODO : ola, port, devices, universes, addresses, -images- frames, device features (color, range, fixed)
- 00:34 13 fev 2016 : DONE : midi inputs (generic (?) but particularly Behringer CMD DC-1 and Korg NanoKontrol2) (LOT of inputs !)
- 00:35 13 fev 2016 : TODO : scrollable content (LOT of inputs !)
- 16:47 14 fev 2016 : better mouse event/element focus behavior, began frame and sequence stuff (devices, features, frame, sequence, visualizer) a lot to do
- 16:49 14 fev 2016 : TODO : UI for creating scene/frames, UI for typing
- 23:21 14 fev 2016 : better device drawing, added menu bar, worked out how frame can work, better focus, commencing UI device editor (2 buttons yeah!)
- 16:37 18 fev 2016 : basic user text input, should add regEx validation, maxlength check.
- 16:43 22 fev 2016 : git versionning ! Main UI elements are drawn on separate PGraphics canvas, and it works (soon : scrollable)
# HOW TO BUILD

# WHICH LICENSE ?
Require Java 8 and ant to build. Run `ant` in the root folder to build and run.

# TODO

- [x] Inputs basics
- [x] Outputs basics
- [x] Patch
- [x] Animation
- [x] Saves
- [x] Input binding
- [x] Filters mechanism
- [x] Device groups in filters
- [x] DMX input
- [x] FFT ranges
- [x] More device features
- [x] More filters
- [x] MIDI outputs (get rid of themidibus ?)
- [ ] protobuf saves
- [ ] grid ui (see [Blocks](https://github.com/procsynth/Blocks))
- [ ] integrated Artnet node, get rid of OLA ?
- [ ] __A complete demo set__
- [ ] User manual

# WHICH LICENSE ?

This software is licensed under the GNU/LGPL v3 license, a copy is provided in the [LICENSES][licenses] file.

Expand All @@ -36,4 +47,4 @@ The [Processing](https://processing.org) export libraries under the GNU/LGPL v3
[The OLA client](https://www.openlighting.org/ola/) with Google's protobuf software under a custom license which can be found in the [LICENSES][licenses] file.
The Roboto Mono font under the Apache 2.0 license,a copy is provided in the [LICENSES][licenses] file.

[licenses]: https://github.com/procsynth/MaShine/blob/master/LICENSES "Licenses file"
[licenses]: https://github.com/procsynth/MaShine/blob/master/LICENSES "Licenses file"
14 changes: 5 additions & 9 deletions build.xml
Original file line number Diff line number Diff line change
@@ -1,33 +1,27 @@
<project name="mashine" basedir="." default="run">

<property name="processing.dir"
value="/opt/processing-3.0/core/library/" />
<property name="lib.dir" value="lib" />
<property name="src.dir" value="src" />
<property name="build.dir" value="build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="jar.dir" value="dist" />
<property name="main-class" value="mashine.MaShine" />

<fileset id="processing.library" dir="${processing.dir}">
<include name="*.jar" />
</fileset>

<fileset id="library.directory" dir="${lib.dir}">
<include name="**/*" />
</fileset>

<path id="build.classpath">
<fileset refid="processing.library" />
<fileset refid="library.directory" />
</path>

<pathconvert property="manifest.classpath" pathsep=" ">
<path refid="build.classpath"/>
<mapper>
<chainedmapper>
<flattenmapper />
<globmapper from="*.jar" to="${processing.dir}/*.jar"/>
<flattenmapper />
<globmapper from="*.jar" to="${lib.dir}/*.jar"/>
</chainedmapper>
</mapper>
</pathconvert>
Expand All @@ -40,14 +34,16 @@

<target name="compile">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="build.classpath"
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" classpathref="build.classpath"
includeantruntime="false">
</javac>
</target>

<target name="jar">
<mkdir dir="${jar.dir}" />
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<fileset file="README.md" />
<fileset dir="." includes="data/**" />
<zipgroupfileset dir="${lib.dir}" includes="**/*.jar" />
<manifest>
<attribute name="Main-Class" value="${main-class}" />
Expand Down
File renamed without changes.
Binary file added data/mashine.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified dist/mashine.jar
Binary file not shown.
Binary file added lib/ola/protobuf-java-2.6.1.jar
Binary file not shown.
Binary file removed lib/ola/protobuf-java-3.0.0-beta-2.jar
Binary file not shown.
Binary file added lib/processing3/core.jar
Binary file not shown.
11 changes: 11 additions & 0 deletions lib/processing3/export.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# If you want to support more platforms, visit jogamp.org to get the
# natives libraries for the platform in question (i.e. Solaris).

name = OpenGL

application.macosx=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-macosx-universal.jar,gluegen-rt-natives-macosx-universal.jar
application.windows32=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-windows-i586.jar,gluegen-rt-natives-windows-i586.jar
application.windows64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-windows-amd64.jar,gluegen-rt-natives-windows-amd64.jar
application.linux32=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-i586.jar,gluegen-rt-natives-linux-i586.jar
application.linux64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-amd64.jar,gluegen-rt-natives-linux-amd64.jar
application.linux-armv6hf=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-armv6hf.jar,gluegen-rt-natives-linux-armv6hf.jar
Binary file not shown.
Binary file not shown.
Binary file added lib/processing3/gluegen-rt-natives-linux-i586.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added lib/processing3/gluegen-rt.jar
Binary file not shown.
Binary file added lib/processing3/jogl-all-natives-linux-amd64.jar
Binary file not shown.
Binary file not shown.
Binary file added lib/processing3/jogl-all-natives-linux-i586.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added lib/processing3/jogl-all.jar
Binary file not shown.
13 changes: 0 additions & 13 deletions pack.sh

This file was deleted.

Loading

0 comments on commit 2af39e9

Please sign in to comment.