vovoid / vsxu Goto Github PK
View Code? Open in Web Editor NEWVisual programming language; Real-time OpenGL graphics; Embeddable; GPL/LGPL Licensed; Audio/Music Visualizer; Animation tool
Home Page: http://vsxu.com
License: Other
Visual programming language; Real-time OpenGL graphics; Embeddable; GPL/LGPL Licensed; Audio/Music Visualizer; Animation tool
Home Page: http://vsxu.com
License: Other
arrow keys to move, pgup/pgdn to zoom.
I.e. hide everything behind when you doubleclick
We need to:
for engine and engine_graphics,
So that other programs can use libVSXu for their own development.
It should be noted that the current constructor of vsx_manager might have to be more friendlier: (how would a developer know where vsxu_visuals are installed??).
Code from VSXu Player:
manager = manager_factory();
std::string path = PLATFORM_SHARED_FILES_STLSTRING;
// init manager with the shared path and sound input type.
// manual sound injection: manager->init( path.c_str() , "media_player");
#if PLATFORM_FAMILY == PLATFORM_FAMILY_WINDOWS
manager->init( path.c_str(), "fmod");
#else
manager->init( path.c_str(), "pulseaudio");
#endif
Currently the destructor of the class does nothing useful,
it should stop all the engines,
delete them.
The same goes for the faders.
With this in place, the app can simply delete vsx_manager when going to fullscreen mode.
bezier curves?
If it doesn't complete its run it crashes on pthread_join.
Maybe it's due to not being a valid thread handle?
Default visuals won't load due to this, from artiste's hypertree browser
This line is causing a problem for those who install VSXu to */lib64 instead of lib
engine/src/core/vsx_engine.cpp: get_files_recursive(vsx_string(CMAKE_INSTALL_PREFIX)+"/lib/vsxu/plugins",&mfiles,".so","");
https://github.com/saidinesh5/tomahawk/blob/master/CMakeModules/GNUInstallDirs.cmake is a good start for this cleanup.
When hitting Ctrl+doubleclick on a module input/output
Keep only sources in that one, with the exception of fmod.
Should be available for engine_graphics, modules. Maybe possible to pass some of these options to the engine in a constructor as well.
possible solution: make the ends of connectors (above anchors) not clickable when the anchor is "closed" ?
For media players, one needs to be able to list and select a visual he/she wants to use....
Engine should be updated to add the querying capabilities.
There are a lot of warnings in the plugin builds.
also requires updates to the statelist/manager
Currently this code is only written for GNU/Linux, so we'll need to implement it on windows as well.
In vsx_statelist.cpp
See title.
you would get black when drawing 10 planes with color 1,1,1.0.1.
Solution: make alpha channel in FBO's optional.
showing keyboard keys - sdfe to move around, w zoom in, r zoom out
these can be a bunch of PNGs fading in and out.
Go through all the .vsx files and rename them properly
Debian:
If we want to create our own ppa, use using a version like 0-0ubuntu0~ppa1 to not mess up users packaging system.
To recreate:
==2128== Invalid read of size 8
==2128== at 0x5C35F41: vsx_module_param<1, float, 4, 1>::set_internal(float, int) (vsx_param.h:222)
==2128== by 0x5C4D62D: vsx_param_sequence::execute(float) (vsx_param_sequence.cpp:180)
==2128== by 0x5C564FE: vsx_param_sequence_list::run(float, bool) (vsx_param_sequence_list.cpp:236)
==2128== by 0x5BFEE60: vsx_engine::render() (vsx_engine.cpp:765)
==2128== by 0x4A8D73: vsx_window_texture_viewer::draw_2d() (vsx_widget_preview.cpp:117)
==2128== by 0x44F4F1: vsx_widget::draw_children_2d() (vsx_widget_base.h:329)
==2128== by 0x44E050: vsx_widget::draw_2d() (vsx_widget_base.cpp:1239)
==2128== by 0x4F54DE: vsx_widget_desktop::draw_2d() (vsx_widget_desktop.cpp:409)
==2128== by 0x4F8E5D: vsxu_draw::draw() (application.cpp:177)
==2128== by 0x4F7C77: app_draw(int) (application.cpp:451)
==2128== by 0x4FAE81: main (main.cpp:318)
==2128== Address 0xada5560 is 80 bytes inside a block of size 112 free'd
==2128== at 0x4C27FF2: operator delete(void_) (vg_replace_malloc.c:387)
==2128== by 0x5C5E29D: vsx_module_param<0, float, 1, 1>::~vsx_module_param() (vsx_param.h:276)
==2128== by 0x5C5CF24: vsx_module_param_list::~vsx_module_param_list() (vsx_param.cpp:139)
==2128== by 0x5C45708: vsx_comp::re_init_in_params() (vsx_comp.cpp:167)
==2128== by 0x5BFF4F1: vsx_engine::redeclare_in_params(vsx_comp_, vsx_command_list_) (vsx_engine.cpp:839)
==2128== by 0x5C0820F: vsx_engine::process_message_queue(vsx_command_list_, vsx_command_list_, bool) (vsx_parameters.h:85)
==2128== by 0x4F8E89: vsxu_draw::draw() (application.cpp:182)
==2128== by 0x4F7C77: app_draw(int) (application.cpp:451)
==2128== by 0x4FAE81: main (main.cpp:318)
==2128==
==2128== Invalid write of size 4
==2128== at 0x5C35F55: vsx_module_param<1, float, 4, 1>::set_internal(float, int) (vsx_param.h:222)
==2128== by 0x5C4D62D: vsx_param_sequence::execute(float) (vsx_param_sequence.cpp:180)
==2128== by 0x5C564FE: vsx_param_sequence_list::run(float, bool) (vsx_param_sequence_list.cpp:236)
==2128== by 0x5BFEE60: vsx_engine::render() (vsx_engine.cpp:765)
==2128== by 0x4A8D73: vsx_window_texture_viewer::draw_2d() (vsx_widget_preview.cpp:117)
==2128== by 0x44F4F1: vsx_widget::draw_children_2d() (vsx_widget_base.h:329)
==2128== by 0x44E050: vsx_widget::draw_2d() (vsx_widget_base.cpp:1239)
==2128== by 0x4F54DE: vsx_widget_desktop::draw_2d() (vsx_widget_desktop.cpp:409)
==2128== by 0x4F8E5D: vsxu_draw::draw() (application.cpp:177)
==2128== by 0x4F7C77: app_draw(int) (application.cpp:451)
==2128== by 0x4FAE81: main (main.cpp:318)
==2128== Address 0x1e7254e0 is 0 bytes inside a block of size 4 free'd
==2128== at 0x4C27C6E: operator delete (vg_replace_malloc.c:409)
==2128== by 0x5C5E253: vsx_module_param<0, float, 1, 1>::~vsx_module_param() (vsx_param.h:275)
==2128== by 0x5C5E291: vsx_module_param<0, float, 1, 1>::~vsx_module_param() (vsx_param.h:276)
==2128== by 0x5C5CF24: vsx_module_param_list::~vsx_module_param_list() (vsx_param.cpp:139)
==2128== by 0x5C45708: vsx_comp::re_init_in_params() (vsx_comp.cpp:167)
==2128== by 0x5BFF4F1: vsx_engine::redeclare_in_params(vsx_comp_, vsx_command_list_) (vsx_engine.cpp:839)
==2128== by 0x5C0820F: vsx_engine::process_message_queue(vsx_command_list_, vsx_command_list*, bool) (vsx_parameters.h:85)
==2128== by 0x4F8E89: vsxu_draw::draw() (application.cpp:182)
==2128== by 0x4F7C77: app_draw(int) (application.cpp:451)
==2128== by 0x4FAE81: main (main.cpp:318)
When left clicking to open the console, it usually is alright. When you close it with right-click it's alright.
But if you do this a couple of times (doesn't seem to be a constant number, it happens on different numbers of tries), or just wait for the timer to stop (when the console is empty), you crash vsxu_artiste by writing something in it and pressing enter.
Results in Segmentation Fault.
some keyboard double-event?
due to trying to join a non-created pthread
Here's some interresting flags to test and see what happens:
http://www.debian-administration.org/article/Optimizing_code_via_compiler_flags
.vsx files those are compiled in 32 bit dont work in 64 bit OSes. This needs to be looked into.
Issue priority: really high!
When dragging out a new connector, check what is getting focus. It should not be the connector itself (I suspect this is the case) but rather the anchor where it's landing.
A couple of regressions have been found. Use Luna to test these.
When double-clicking the numbers in a knob, vsxu_artiste crashes with the error: Segmentation Fault.
Ideally the module should be able to stream VSXu render output over the network in an appropriate video format. This way one powerful server can stream to multiple thin clients.
An interesting addition for the module would be to support DLNA. Needs more research on how everything fits together.
RtMidi is a cross platform (OSX, Linux (Alsa and Jack), Windows) Midi API
http://www.music.mcgill.ca/~gary/rtmidi/
Figure out how to use Midi input from a module and implement it.
There has been several updates to FTGL.
See here: http://sourceforge.net/projects/ftgl/develop
We need to integrate the code again. I believe there was a few hacks needed, but not sure.
The compression has been improved a bit.
We need to look at backwards compatibility, how to solve that.
Possibly with adding a Version number for this new .vsx format. It's quite easy to check for that.
"The reqquested Fullscreen mode is not supportet by Your Video Card"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.