Yes I saw that. I will take another look once I am done fixing the openGL
playback plugin. That will be good start, but it has to work for all audio
players in LiVES, pulseaudio also. But it should not be too difficult,
there is already support in LiVES for feeding audio to LADSPA plugins for
example.
There is also the issue of feeding keystrokes to projectM. This is not hard
to do programatically, but still there are two things to consider:
- a way for plugins to notify the host that they can accept key presses
- a way for the user to switch between keypresses going to the LiVES
application and a specific effect/plugin which is running.
A kind of kludge is for the plugin to have a dummy text entry parameter,
and then use that to capture keypresses. Then you can set the key grab to
that effect, press tab and it should work. But there may be a better way.
Showing a control window is possible but problematic for a number of
reasons, mainly it is not good in single monitor mode.
Regards,
Gabriel.
http://lives.sourceforge.net
https://www.openhub.net/accounts/salsaman
On Thu, Sep 18, 2014 at 1:05 PM, Harrie Hoogeveen <
harrie.hoogev...@gmail.com> wrote:
> That is great to hear. :)
> Also there is projectM-jack:
> *http://sourceforge.net/projects/projectm/files/projectM-jack/
> <http://sourceforge.net/projects/projectm/files/projectM-jack/>*With jack
> audio integrated, that would solve the audio feeding issue, but you
> probably also want it to work for the default audio system. Maybe you can
> take a look at their code.
> Cant wait to try it out, but I am afraid I have to go buy a new disk first
> and recover my laptop because my root disk gave in this week. :/ Time for
> SSD's.
> Will let you know when I can run tests again.
>
> Harrie
>
> ps: imagine this with different visualizer for different parts of the
> sculptures. Hope my video card will hold.
>
> https://www.facebook.com/video.php?v=865673503458102&set=vb.132071736818286&type=2&theater
>
> https://www.facebook.com/video.php?v=852624618096324&set=vb.132071736818286&type=2&theater
>
>
>
> On Thu, Sep 18, 2014 at 5:41 PM, salsaman <salsa...@gmail.com> wrote:
>
>> Aha !! Got it ! I got it !
>>
>> Pulled the resize code from projectM and stuck it in the LiVES openGL
>> playback plugin...
>>
>> :D
>>
>> More to come ;D
>>
>> Gabriel.
>>
>>
>>
>> http://lives.sourceforge.net
>> https://www.openhub.net/accounts/salsaman
>>
>> On Thu, Sep 18, 2014 at 11:48 AM, salsaman <salsa...@gmail.com> wrote:
>>
>>> I did some more coding last night, and was able to get a projectM
>>> generator integrated in LiVES ! The results are pretty encouraging.
>>>
>>> The external window is displayed briefly (less than 1 second) and then
>>> hidden. Frames are pulled into LiVES which is nice.
>>>
>>> Feeding audio to the plugin still needs implementing.
>>>
>>> The main problem I found is with fullscreen playback - because of the
>>> use of SDL in the plugin, there was some interferance with SDL fullscreen
>>> playback plugin, causing crashes and hangs in that mode. It seems like SDL
>>> is not thread safe. It works without a playback plugin, but in that case
>>> performance is pretty bad due to scaling issues. The other option that
>>> worked was the openGL playback plugins, however these plugins are somewhat
>>> broken as they seem unable to scale up images to the screen size.
>>>
>>> If any of you knows an openGL programmer who could look into the scaling
>>> issue, that would be great.
>>>
>>> Regards,
>>> Gabriel.
>>>
>>>
>>>
>>>
>>> http://lives.sourceforge.net
>>> https://www.openhub.net/accounts/salsaman
>>>
>>> On Wed, Sep 17, 2014 at 4:25 PM, salsaman <salsa...@gmail.com> wrote:
>>>
>>>> Great, I got some test code running now showing the window and hiding
>>>> it straight away. I think this will be a good approach.
>>>>
>>>> Gabriel.
>>>>
>>>>
>>>>
>>>> http://lives.sourceforge.net
>>>> https://www.openhub.net/accounts/salsaman
>>>>
>>>> On Wed, Sep 17, 2014 at 10:11 AM, salsaman <salsa...@gmail.com> wrote:
>>>>
>>>>> Ahem...
>>>>> http://sourceforge.net/p/lives/code/HEAD/tree/trunk/tools/lives-glc-play
>>>>> as you can see I have experimented with glc before. Unfortunately it
>>>>> still shows the program on the screen. But yes it can be used to
>>>>> capture/display any openGL program in LiVES. I have used it before to
>>>>> capture clips from Second Life for example. So that is one possibility
>>>>> that
>>>>> can be done already but it is not ideal.
>>>>>
>>>>> Yesterday I tested running projectM in a framebuffer X (Xvfb), but it
>>>>> did not work - the first thing that projectM does is to check the openGL
>>>>> extensions, which makes it crash since the framebuffer doesn't have any...
>>>>>
>>>>> I think that best solution is to create the window and hide it. This
>>>>> can even be done at startup time if the projectM wrapper is loaded. SDL
>>>>> 2.0
>>>>> has a function for this, but SDL 1.2 which projectM uses does not. So
>>>>> basically I tried messing with X directly (XUnmapWindow) but for some
>>>>> reason my first test crashed in that function. Anyway I will keep on
>>>>> trying
>>>>> via this route.
>>>>>
>>>>>
>>>>> Regards,
>>>>> Gabriel.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> http://lives.sourceforge.net
>>>>> https://www.openhub.net/accounts/salsaman
>>>>>
>>>>> On Wed, Sep 17, 2014 at 5:58 AM, Harrie Hoogeveen <
>>>>> harrie.hoogev...@gmail.com> wrote:
>>>>>
>>>>>> hmm, I was looking around and found someone who has managed to
>>>>>> capture projectm to video with GLC:
>>>>>> https://wiki.archlinux.org/index.php/GLC
>>>>>> Its a OpenGl / Alsa capture tool and its open source. But I am not
>>>>>> sure if it will record without running the program on screen.
>>>>>> Source: http://ubuntuforums.org/showthread.php?t=1497453
>>>>>>
>>>>>> On Tue, Sep 16, 2014 at 7:05 PM, salsaman <salsa...@gmail.com> wrote:
>>>>>>
>>>>>>> OK, so it seems it is not as simple as I had hoped. ProjectM uses
>>>>>>> openGL, which means that it requires a physical window on the screen to
>>>>>>> do
>>>>>>> its drawing stuff. Some time ago I did a hack with xscreensaver which
>>>>>>> involved starting up an entire second Xwindows server (!) which was not
>>>>>>> attached to any screen, and it did all its drawing there. Actually it is
>>>>>>> not as bad as it sounds ! In that case it was possible to grab the
>>>>>>> contents
>>>>>>> of the window without displaying it and then pull it straight into
>>>>>>> LiVES. I
>>>>>>> check if a similar hack can be done here.
>>>>>>>
>>>>>>> Otherwise, it may be possible by creating the window and then
>>>>>>> quickly hiding it, but that is not a great solution either.
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Gabriel.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://lives.sourceforge.net
>>>>>>> https://www.openhub.net/accounts/salsaman
>>>>>>>
>>>>>>> On Tue, Sep 16, 2014 at 10:09 AM, Harrie Hoogeveen <
>>>>>>> harrie.hoogev...@gmail.com> wrote:
>>>>>>>
>>>>>>>> My thought: There is also a menu that can be in or external of the
>>>>>>>> projectm window:
>>>>>>>> http://i1.wp.com/imagecdn5.maketecheasier.com/2013/02/projectm-add-to-playlist.png
>>>>>>>> There you can manage playlists, plugins and even create new
>>>>>>>> visuals. If you manage to make this external control panel available
>>>>>>>> in a
>>>>>>>> separate window I think projectM will react to the keyboard short cuts
>>>>>>>> as
>>>>>>>> long as the projectM control panel is focused. Also it will give the
>>>>>>>> option
>>>>>>>> to edit your visualisers and play lists live. So then you won't have
>>>>>>>> to add
>>>>>>>> the extra controls your self.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Harriebo
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Sep 16, 2014 at 2:45 PM, salsaman <salsa...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Cool, OK. After a quick review, I think the main change will be to
>>>>>>>>> buffer one video frame's worth of audio, which would then be
>>>>>>>>> transformed
>>>>>>>>> and sent to the video generator whenever a new frame is requested.
>>>>>>>>> This
>>>>>>>>> should improve the libvisual plugins as well as it could be
>>>>>>>>> backported to
>>>>>>>>> there. LiVES already has the ability to select between internal and
>>>>>>>>> external audio too, so this could be a lot of fun.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I noted that the projectM plugins can be controlled by keyboard.
>>>>>>>>> It will be interesting to see if this keyboard control can be
>>>>>>>>> converted to
>>>>>>>>> parameterised control. Otherwise it would mean developing some way to
>>>>>>>>> forward key presses to the plugin. Perhaps extending the Tab key
>>>>>>>>> control
>>>>>>>>> which is currently used for text entry in plugins...
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Gabriel.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://lives.sourceforge.net
>>>>>>>>> https://www.openhub.net/accounts/salsaman
>>>>>>>>>
>>>>>>>>> On Tue, Sep 16, 2014 at 9:24 AM, Harrie Hoogeveen <
>>>>>>>>> harrie.hoogev...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Yes to this! With the projectM panel in a separate window for
>>>>>>>>>> control of the plugins.
>>>>>>>>>> Have been looking to use better live visualizers for quite a
>>>>>>>>>> while.
>>>>>>>>>>
>>>>>>>>>> Harriebo
>>>>>>>>>>
>>>>>>>>>> On Tue, Sep 16, 2014 at 12:20 AM, salsaman <salsa...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> That is a good suggestion. I will see if I can implement a
>>>>>>>>>>> native wrapper for LiVES for the next release.
>>>>>>>>>>>
>>>>>>>>>>> Gabriel.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> http://lives.sourceforge.net
>>>>>>>>>>> https://www.openhub.net/accounts/salsaman
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Sep 15, 2014 at 3:15 PM, tj domingue <
>>>>>>>>>>> tjdomin...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I was wondering if there is a way to use the projectM
>>>>>>>>>>>> visualizers in Lives
>>>>>>>>>>>> since there is a libvisual version of projectM? I'm have been
>>>>>>>>>>>> trying to just
>>>>>>>>>>>> redirect the output of the standalone projectM-jack to a
>>>>>>>>>>>> v4l2loopback device
>>>>>>>>>>>> with no success.
>>>>>>>>>>>>
>>>>>>>>>>>> tj
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>> Want excitement?
>>>>>>>>>>>> Manually upgrade your production database.
>>>>>>>>>>>> When you want reliability, choose Perforce
>>>>>>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>>>>>>
>>>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Lives-users mailing list
>>>>>>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>> Want excitement?
>>>>>>>>>>> Manually upgrade your production database.
>>>>>>>>>>> When you want reliability, choose Perforce
>>>>>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>>>>>
>>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Lives-users mailing list
>>>>>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>> Want excitement?
>>>>>>>>>> Manually upgrade your production database.
>>>>>>>>>> When you want reliability, choose Perforce.
>>>>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>>>>
>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Lives-users mailing list
>>>>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Want excitement?
>>>>>>>>> Manually upgrade your production database.
>>>>>>>>> When you want reliability, choose Perforce.
>>>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>>>
>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>>>> _______________________________________________
>>>>>>>>> Lives-users mailing list
>>>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Want excitement?
>>>>>>>> Manually upgrade your production database.
>>>>>>>> When you want reliability, choose Perforce.
>>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>>
>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>>> _______________________________________________
>>>>>>>> Lives-users mailing list
>>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Want excitement?
>>>>>>> Manually upgrade your production database.
>>>>>>> When you want reliability, choose Perforce.
>>>>>>> Perforce version control. Predictably reliable.
>>>>>>>
>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>>> _______________________________________________
>>>>>>> Lives-users mailing list
>>>>>>> Lives-users@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Want excitement?
>>>>>> Manually upgrade your production database.
>>>>>> When you want reliability, choose Perforce
>>>>>> Perforce version control. Predictably reliable.
>>>>>>
>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>>>>>> _______________________________________________
>>>>>> Lives-users mailing list
>>>>>> Lives-users@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Want excitement?
>> Manually upgrade your production database.
>> When you want reliability, choose Perforce
>> Perforce version control. Predictably reliable.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Lives-users mailing list
>> Lives-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/lives-users
>>
>>
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> _______________________________________________
> Lives-users mailing list
> Lives-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lives-users
>
>
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Lives-users mailing list
Lives-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lives-users