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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <
>>> [email protected]> 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 <[email protected]> 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 <
>>>>> [email protected]> 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 <[email protected]> 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 <
>>>>>>> [email protected]> 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 <[email protected]>
>>>>>>>> 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 <[email protected]
>>>>>>>>> > 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
>>>>>>>>>> [email protected]
>>>>>>>>>> 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
>>>>>>>>> [email protected]
>>>>>>>>> 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
>>>>>>>> [email protected]
>>>>>>>> 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
>>>>>>> [email protected]
>>>>>>> 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
>>>>>> [email protected]
>>>>>> 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
>>>>> [email protected]
>>>>> 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
>>>> [email protected]
>>>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/lives-users