Java-Gaming.org Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (681)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (745)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Praxis LIVE v2 - hybrid visual IDE for creative coding  (Read 16418 times)
0 Members and 1 Guest are viewing this topic.
Offline nsigma
« Posted 2014-08-31 10:02:38 »

Praxis LIVE is an open-source hybrid visual IDE for creative coding.  It mixes a visual patching environment for audio/video (think Quartz Composer, Isadora, etc.) with coding in Java and GLSL.  Everything is editable live, including code - an embedded compiler is used to inject Java code on-the-fly into a running project without missing a frame (or beat).



FEATURES

  • Real-time audio / video - Designed for live manipulation of audio & video. OpenGL graphics pipeline with accelerated video processing. Low-latency audio with optional JACK binding.
  • Intuitive graphical patching - Patcher-style editing for fast visual project building. Drag and drop components, draw in connections. Edit everything live - instant feedback without interrupting your creative flow.
  • Extend at runtime - Fork components on-the-fly, or create new ones from scratch, all without dropping a frame. Integrated editor for Java, Processing & GLSL. Export and share, or import from a growing library.
  • Custom controllers - Build control panels in the visual GUI editor - widgets automatically configure and sync themselves to properties. Map MIDI controllers or OSC addresses to any property.
  • Physical computing - Simple video components for analysing motion can be used to control other parameters. Use the TinkerForge bindings to access a range of sensors, or control motors, servos & other equipment.
  • Distributed by design - Built from the ground up for working with multiple media pipelines, using a distributed architecture. Option to run projects transparently across multiple processes (VMs) or machines.

DOWNLOADS

Installers for Windows, OSX and Linux available at www.praxislive.org

Various examples and a custom component repository are also available from the website. Contribution of examples or custom components is actively encouraged!

There's an online manual (still in progress) at http://praxis-live.readthedocs.org

Source code is available at https://github.com/praxis-live/ To build you'll require both the praxis and praxis-live repositories, and a copy of NetBeans (Praxis LIVE is a NetBeans platform application)

LATEST VERSION

The latest version is v2.2.0.  The OpenGL pipeline is updated to Processing v3, and adds optional GStreamer 1.x support.

SCREENCASTS

Rough Cuts is a selection of uncut and uncommentated screencasts of Praxis LIVE in action. Recorded at 1080p and best viewed fullscreen on YouTube (hence not embedded) to follow what's going on


WHAT CAN I USE IT FOR?

Or, is this relevant to game developers?  Wink  Well, that slightly depends on how wide your view of "gaming" is - I personally use it for creating interactive play-things in public spaces, such as this.  I know various people who've used it for VJing.  You could use it as a live code sketchbook, playing with Java or GLSL.

GET INVOLVED

Interested in getting involved in the development of the project, or making examples / custom components - speak up below!

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline lcass
« Reply #1 - Posted 2014-08-31 22:33:33 »

Saw this and just thought it looked awesome . Definitely going to use this.
Offline nsigma
« Reply #2 - Posted 2014-09-01 08:01:30 »

Saw this and just thought it looked awesome . Definitely going to use this.

Thanks! Cheesy Let me know how you get on.  I didn't publicise the first alpha beyond some known users, so be interesting to hear back on what does or doesn't work for you, or what feels confusing.  There is a manual for v1, but it's not been updated for v2 yet - should still help get you started.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline lcass
« Reply #3 - Posted 2014-09-01 08:36:14 »

Ok thanks , ill have a play around with it when I wake up Smiley
Offline CommanderKeith
« Reply #4 - Posted 2014-09-01 14:01:58 »

I downloaded the latest test build and it worked well.
Would be good if it came pre-loaded with a cool demo project that would play some music and make a video with GLSL just to show off the features.
Impressive for how you were able to borrow some code from netbeans. Was it difficult to integrate? I've also experimented with the swing code editor JSyntaxPane but found it to be unreliable and always wanted to know how hard it would be to borrow the editor from netbeans or eclipse.
Cheers,
Keith

PS: The older version 131206 didn't work when I started it. Just an opening splash screen and then it died, with the process disappearing on the task manager. Windows 7, intel i7.
Also I tried downloading the example zip file (examples 120620.zip) but couldn't figure out how to load it. When I did import project from zip, it popped an error dialog saying "entry anImageFileName already exists. Replace, change....". Then it failed to add the project. Unzipping it manually and trying to load as a project didn't work either since it wouldn't let me select the unzipped examples folder or any sub folder.

Offline nsigma
« Reply #5 - Posted 2014-09-01 16:46:09 »

I downloaded the latest test build and it worked well.

Great, thanks, good to know.

Would be good if it came pre-loaded with a cool demo project that would play some music and make a video with GLSL just to show off the features.

Agreed(ish).  Some more up-to-date and more exciting examples are definitely needed.  I'm less sure about packaging them in the install unless I can make some without many resources - the installer for the new version will be big enough already.

I presume you tried the New Custom and Smoky 3D examples on the Resources page?

Impressive for how you were able to borrow some code from netbeans. Was it difficult to integrate? I've also experimented with the swing code editor JSyntaxPane but found it to be unreliable and always wanted to know how hard it would be to borrow the editor from netbeans or eclipse.

Praxis LIVE is based on the NetBeans platform (in fact, it's in the showcase) so integrating the editor wasn't too difficult, though connecting everything up so that it treats the in-memory class body as an actual Java file was fun!  persecutioncomplex  If you're not building on top of the NetBeans RCP, I'm not sure I'd even attempt to use the editor - there used to be a separate library available but not for some time.  Not sure how usable the Eclipse editor is outside its platform either.

In the depths of time I used JSyntaxPane too, but for the last few years the editor in Praxis LIVE was RSyntaxTextArea. I'd recommend it if you're looking for a lightweight code editor component, and it has some additional code completion support (though not as good as a full IDE editor, hence my switch).

PS: The older version 131206 didn't work when I started it. Just an opening splash screen and then it died ... Windows 7, intel i7.

But I bet not Java 7!  Wink  Unfortunately 131206 is not compatible with Java 8.  Not my fault - there's a bug in NetBeans platform 7.2 - that version of the IDE doesn't work with Java 8 either.  I'll be glad when I can consider Praxis LIVE v2 stable enough to remove the 131206 download.

Also I tried downloading the example zip file (examples 120620.zip) but couldn't figure out how to load it.

After unzipping externally it should recognise all the subfolders (01 Hello World, etc.) as projects which can be opened.  Huh  Also, in case you got this far, remember to restart the hub (red circular arrow) between trying to run each example.

The project zip / unzip menu items are from the underlying platform, and may be more trouble than they're worth at the moment.  I'll do some testing with them prior to the next release, and if they're not proving that useful will hide them.

Thanks for your input, Neil

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline CommanderKeith
« Reply #6 - Posted 2014-09-02 02:08:42 »

Also I tried downloading the example zip file (examples 120620.zip) but couldn't figure out how to load it.

After unzipping externally it should recognise all the subfolders (01 Hello World, etc.) as projects which can be opened.  Huh  Also, in case you got this far, remember to restart the hub (red circular arrow) between trying to run each example.

The project zip / unzip menu items are from the underlying platform, and may be more trouble than they're worth at the moment.  I'll do some testing with them prior to the next release, and if they're not proving that useful will hide them.

Thanks for your input, Neil
Aha! cool, yep the examples work now that I open them as projects. The video input and blob examples were cool, they grabbed the video from my laptop camera just fine. How did you do that? What java lib can get access to the video camera so easily?
Thanks for letting me know about RSyntaxPane, it looks much better than JSyntaxPane  Cool
I couldn't figure out how to edit the code in the 'live coding project', there wasn't any button next to the properties of the code element.
The GLSL example just showed a blank window, but I couldn't turn on the openGL pipeline since only the 'Software Renderer' was available in Tools/Options/Video.
New Custom and Smoky 3D were good. Would be nice to see a demo with an animation of flashing lights or something which is sync'ed with the bass of a song.
Cheers,
Keith

Offline nsigma
« Reply #7 - Posted 2014-09-02 09:10:23 »

Aha! cool, yep the examples work now that I open them as projects. The video input and blob examples were cool, they grabbed the video from my laptop camera just fine. How did you do that? What java lib can get access to the video camera so easily?

That's GStreamer with the GStreamer-Java bindings.  There's an old thread on here somewhere with code to use GStreamer with LWJGL (GstLwjgl) - you appear to have appreciated it at the time!  Wink

I couldn't figure out how to edit the code in the 'live coding project', there wasn't any button next to the properties of the code element.

Ah, that's a change in this alpha release - to edit code now you need to right-click on the component (header) in the graph window and choose Edit code from the popup menu.  You can edit shader code the same way.  The code will open in a separate editor tab - every time you save the code file it will be re-compiled.  Quite a few of the components in the new examples can have code edited in that way - eventually it will be possible to edit the code of most of the built-in components.

You can also double-click components to open properties in a separate window, if you haven't found that yet - useful to keep them accessible while editing code.

The GLSL example just showed a blank window, but I couldn't turn on the openGL pipeline since only the 'Software Renderer' was available in Tools/Options/Video.

Another change in v2.  There should be a message showing at the bottom of that option window.  Renderer setting has been moved into the 'root' settings for the video patch.  Open that project, click build (you can't change renderer while it's running), open the video.pxr file in the graph, click the button next to play in the editor toolbar to open the 'root' properties, and change the renderer there.

New Custom and Smoky 3D were good. Would be nice to see a demo with an animation of flashing lights or something which is sync'ed with the bass of a song.

Yes, I'll put something together  - in fact, the logo and splash screen are stills from a project that does pretty much that.  The audio sequencer example is doing animation based on audio levels too, though it's only drawing shapes.

This video is quite fun http://youtu.be/MFkG1yE3oJQ - done by a VJ from Australia.  It's using an external FFT program to control a shader in Praxis LIVE via MIDI.  At some point I'll get around to adding in an FFT component.

You may also want to check out the Praxis LIVE video playlist - http://youtu.be/n2OOZsY-mj0?list=PLGCnxrNN7cdAEcR30a6Iq7c9HhDUSJrre  - they're a bit old now, though - I'll get some more up-to-date videos done soon.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline gouessej
« Reply #8 - Posted 2014-09-05 23:14:53 »

Hi

Revised OpenGL renderer based on Processing v2 (so now switched from LWJGL to JOGL - hi Julien! Wink ).
We can mention your application in the homepage of JOGL if you want.

Offline nsigma
« Reply #9 - Posted 2014-09-07 15:37:03 »

Just released a minor bug-fix update that addresses a couple of issues with correct saving of custom code in the last snapshot.

Praxis LIVE v2 snapshot build:140905 Download | Release notes

We can mention your application in the homepage of JOGL if you want.

Thanks, that would be great!  Smiley You'll probably want to make sure that it refers to v2 though - the current stable v1 release is still using LWJGL.  I've just edited some links on the site to explicitly refer to v1 & v2 to avoid any confusion.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline nsigma
« Reply #10 - Posted 2014-11-06 16:10:24 »

A slightly belated update that a new alpha release is now available, which finally brings distributed hubs into Praxis LIVE.  There are two primary reasons for this - running pipelines in different local processes to reduce GC timing effects (eg. on low-latency audio), and running and working with pipelines running on different machines across a local network.  Read more about it in this blog post.

Here's me editing Java & GLSL code on one laptop while it runs on another laptop.



 .. which does give me one idea that might be useful around here - live-coding GLSL shaders on multiple machines at the same time to test on different graphics cards / OS?

Get it while it's hot,
Praxis LIVE v2.0a3-141101 Download | Release notes

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 482
Exp: 7 years



« Reply #11 - Posted 2014-11-06 20:41:41 »

Sick. I really need to invent a project to do that involves the use of this.  Pointing

And hey, I have that lenovo too!
Offline nsigma
« Reply #12 - Posted 2014-11-06 21:18:15 »

Sick. I really need to invent a project to do that involves the use of this.  Pointing
Thanks!  You seen this?  It's what I use it for, anyway.  Grin

And hey, I have that lenovo too!
Awesome laptop, and means I can test on Intel and Nvidia easily.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline nsigma
« Reply #13 - Posted 2015-03-13 22:09:56 »

And finally ... Praxis LIVE v2.0.150313 is ready for download.

This is the first full release of v2, and adds the remaining major piece of the jigsaw - Fork All - most built-in components have been rewritten to use the custom coding API, meaning if they don't do exactly what you want, you can edit them on the fly.

Now to get on with all those other pesky things, like release notes, new examples, custom component repository, updated manual ... but that's for another day, for now I sleep.  Cheesy

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline nsigma
« Reply #14 - Posted 2015-03-15 18:54:21 »

Now to get on with all those other pesky things, like release notes ...

Well, release notes are up!

I've also put up a (currently hidden) OSX app bundle.  If you're intrepid and fancy testing it, it's here.

I'm quite pleased with the new live-code / Fork All support, which makes heavy use of annotations.  Here's a fork of the built-in core:math:add component (just added range so you get the slider)



And the code for this is just -

1  
2  
3  
4  
5  
6  
7  
8  
    @P(1) @Type.Number(min=0, max=10) 
    double value;
   
    @Out(1) Output out;
   
    @In(1) void in(double x) {
        out.send(x + value);
    }


Which is all compiled and configured on the fly.  Of course it gets more fun when you throw video, GLSL, etc. into the mix!  Grin

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline Riven
Administrator

« JGO Overlord »


Medals: 1220
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #15 - Posted 2015-09-28 17:31:46 »

Unlock request granted Pointing

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline nsigma
« Reply #16 - Posted 2015-09-30 10:04:35 »

Thanks @Riven

I've updated the top post with the current state of the project (which is out of alpha now and on v2.1-150808)

Added links to some recent screencasts, which as mentioned above are better watched fullscreen on YouTube itself if you want to see what's going on - they're all 1080p


Next version in the works will update the OpenGL renderer to work on top of Processing v3, which offers more stability and finally ditches AWT for NEWT!  Grin

It will also have optional support for using GStreamer 1.x instead of 0.10 - had to take the plunge myself and work on updating the GStreamer-Java bindings - source for them is up at https://github.com/gstreamer-java

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline nsigma
« Reply #17 - Posted 2015-10-28 15:47:12 »

Praxis LIVE v2.2.0 has just been released.



  • OpenGL video pipeline updated to Processing v3.0.1 / JOGL v2.3.2. While providing major performance and stability improvements, this is a major change and there is the possibility for some regressions. Please report any issues.
  • Optional support for GStreamer 1.x. This can be set under Tools / Options / Video / GStreamer (requires restart). Unlike GStreamer 0.10 support, this requires a system installed version of the GStreamer library on all platforms. Windows and OSX users who want to experiment with this feature can download GStreamer from http://gstreamer.freedesktop.org/download/
  • New core:tracker component, and a simple table-based tracker editor (use popup menu and Edit patterns to access). More advanced editing features to follow.
  • New audio:clock component for more stable timing in BPM (quantized to internal processing buffer size).
  • Internal (and outdated) help removed and replaced with link through to online manual at http://praxis-live.readthedocs.org
  • TinkerForge bindings updated to v2.1.5.
  • Added ready and error ports to video:capture and video:player. Can be connected to play or pause to auto-start playback when new file or pipeline loaded.
  • Many minor bug fixes (see commit log).
   
Downloads - http://www.praxislive.org
Source code - https://github.com/praxis-live

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline gouessej
« Reply #18 - Posted 2015-10-28 16:03:00 »

Do you plan to use the JOGL build-in media player based on FFMPEG and LibAV?

Offline nsigma
« Reply #19 - Posted 2015-10-28 16:21:37 »

Do you plan to use the JOGL build-in media player based on FFMPEG and LibAV?

No.  I'm a big fan of GStreamer, it has more features than ffmpeg / libav (has plugins for them).  I also need to support video in the software rendering pipeline for doing things like motion tracking.  Not to mention I'm one of the gstreamer-java maintainers.  Wink

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline gouessej
« Reply #20 - Posted 2015-10-28 22:01:30 »

Why does gstreamer-java still use an obsolete version of Gstreamer then??

Gstreamer is still unable to read numerous HD videos in OGV, there are 2 bug reports about this bug Sad

Offline nsigma
« Reply #21 - Posted 2015-10-28 22:27:29 »

Why does gstreamer-java still use an obsolete version of Gstreamer then??

Did you miss the bit about 1.x support above? There are now GStreamer-Java bindings for both 0.10 and 1.x. See https://github.com/gstreamer-java/gst1-java-core Happy to answer any specific questions you have about that - start another thread.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline nsigma
« Reply #22 - Posted 2016-02-17 11:57:30 »

( ... quick update, partly so I don't have to nag @Riven to keep this topic alive again Grin ... )

After a busy couple of months I'm finally finding some time to get working on a v2.3 release.  There won't be a huge range of new features for this release (I'll leave that for v2.4), but it will include some performance improvements and added features for video playback (inc. video rate / reverse, and audio finally!).  There's also a new wrapper component for Processing 2D OpenGL, which will perform better if you don't need 3D rendering, and some nice interface improvements like comments and colouring.



One of the things that's kept me busy over the last couple of months, but also the reason for some of the new features, is this museum interactive.  Looking like an old magic lantern, it's actually using an LED projector and Intel compute stick, RFID tags in the slides to trigger videos, and an IR sensor / rotary encoder (brass handle) to control some simple video FX.  Software is Praxis LIVE obviously, using the TinkerForge bindings for sensors.  Steampunk VJ'ing here we come.  Cheesy



The user base has also been growing over the last few months.  Great to see this video from an artist & VJ in Montreal, who's also provided some really useful feedback.  Video takes a little while to get going, but love seeing something so different to what I use it for.

<a href="http://www.youtube.com/v/2Oa36w4g93M?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/2Oa36w4g93M?version=3&amp;hl=en_US&amp;start=</a>

https://youtu.be/2Oa36w4g93M

And finally ... just been accepted to do an intro to Praxis LIVE at Libre Graphics Meeting this April.

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline nsigma
« Reply #23 - Posted 2016-06-14 19:32:55 »

If anyone here is in the Montreal area, I'm doing a Praxis LIVE workshop this Thursday evening (June 16th), looking particularly at video, live-coding Java and Processing integration.

https://www.facebook.com/events/194747680919971/

I'm also doing another workshop in Oxford (back in UK!) on Sunday June 26th as part of this.

And here's a recent video demonstrating support for audio and visual live coding - best viewed full screen!

<a href="http://www.youtube.com/v/c1rI6_Lg3eQ?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/c1rI6_Lg3eQ?version=3&amp;hl=en_US&amp;start=</a>

https://youtu.be/c1rI6_Lg3eQ

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline Hydroque

JGO Coder


Medals: 21
Exp: 5 years


Java and Lua


« Reply #24 - Posted 2016-06-15 08:41:45 »

I will take a look at this in the future when it's very well developed and stable builds are being released. As I read, its in alpha or whatever. I use eclipse and am tired of it.
Offline ra4king

JGO Kernel


Medals: 435
Projects: 3
Exp: 5 years


I'm the King!


« Reply #25 - Posted 2016-06-15 09:19:56 »

Hydroque, that was a completely unnecessary post.

@nsigma: man I've been watching Praxis Live silently for the past few years and I've gotta say I've been incredibly impressed the entire time. Glad to hear you're seeing a growing userbase and seeing videos your users are creating! That definitely is a great feeling.

Quick question: what is "Steampunk VJ-ing"?

Offline nsigma
« Reply #26 - Posted 2016-06-15 17:21:09 »

@Hydroque - Praxis LIVE has been out of alpha and very stable for a good while now.  It is not, and never will be, an alternative to Eclipse - it's aims are very distinctly different.

Thanks @ra4king

Quick question: what is "Steampunk VJ-ing"?

Well, Steampunk VJ-ing. Just seemed appropriate for a Victorian-looking device that allows you to play with video FX.  Grin

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Pages: [1]
  ignore  |  Print  
 
 

 
CopyableCougar4 (61 views)
2016-06-25 16:56:52

Hydroque (93 views)
2016-06-22 02:17:53

SwampChicken (96 views)
2016-06-20 13:22:57

SwampChicken (99 views)
2016-06-20 13:22:49

SwampChicken (91 views)
2016-06-20 13:22:26

Hydroque (136 views)
2016-06-15 08:22:50

Hydroque (131 views)
2016-06-13 06:40:55

DarkCart (245 views)
2016-05-29 02:30:33

Hydroque (212 views)
2016-05-26 14:45:46

Mac70 (196 views)
2016-05-24 21:16:33
Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!