salsaman / LiVES

LiVES is a feature rich application which combines elements of VJ and video editing software. The current version runs on Linux / BSD. Check_out_the_new_discussion_area https://github.com/salsaman/LiVES/discussions
http://lives-video.com
GNU General Public License v3.0
90 stars 11 forks source link

arch linux frei0r plugins do not respond to fft. #35

Closed ultr4CdS closed 2 years ago

ultr4CdS commented 3 years ago

I can't figure it out, how would i begin to debug this. i'm not installing linaro/ubuntu. so how do i start trying to fix this? the frei0r filters loads, just like in melt... but no audiofft response.
wish i knew what to do... i have tried clean installs a few times... no clue where to start as no error msg. -ultr4

ultr4CdS commented 3 years ago

would like to help have 24 years linux experience.

salsaman commented 3 years ago

Hi ! Do you mean help generally, or help with this ? If you mean generally there tons of features which would be great to impement, but I just don't have the time for...

Regarding this issue, AFAIK frei0r plugins dont react to fft since they do not have audio input channels. If you want a filter which does react directly to audio, look into projectM, whcih can run inside LiVES. https://github.com/projectM-visualizer/projectm (you may need to compile LiVES yourself unless your distro includes the LiVES wrapper effect, though). The development version has vastly improved support for this, so I would recommend compiling that anyway.

If your version of LiVES was compiled with fftw3 support, then you can also create your own data connectrions. The way to do this is, from Clip Edit mode, click on VJ / Realtime effect mapping, (or hit ctrl-v).

Then the suggested way is to scroll over to the right and you will see 2 special fx key slots, ctrl-minus and ctrl-equals. You can use any key slot for this, but there is a reason to pick one of these two which I will mention below. Then from the key slot selected, click on the combo box and choose Audio Analysers. You should see two effects there, audio_fft and beat_detector. Select the effect you want, then click on Data Connections. From here you can link the effect out parameters to whatever you want to control. Beat Pulse is good if you want to trigger something on audio beats. One thing you can do is connect it to Activate of another effect / mode. In the dev version there are plenty fo data processing effects which can also be mapped and process the output (e.g. counter if you want to do something on 8 beats for example).

The outputs of audio_fft can also be connected to effect inputs. If you run out of effect keys, you can add more in Preferences / Effects. This is useful since only one mode per effect key can be active at any given moment.

After you have things set up, you can click on Save as default keymap, which will save the mapping _ data connections.

You can even play around with mappings during playback. Just press the 's' key and the player window will pop up in front of the mapper window.

I'll make a quick video clip to demonstrate what I mean.

salsaman commented 3 years ago

Hi ! Do you mean help generally, or help with this ? If you mean generally there tons of features which would be great to impement, but I just don't have the time for...

Regarding this issue, AFAIK frei0r plugins dont react to fft since they do not have audio input channels. If you want a filter which does react directly to audio, look into projectM, whcih can run inside LiVES. https://github.com/projectM-visualizer/projectm (you may need to compile LiVES yourself unless your distro includes the LiVES wrapper effect, though). The development version has vastly improved support for this, so I would recommend compiling that anyway.

If your version of LiVES was compiled with fftw3 support, then you can also create your own data connectrions. The way to do this is, from Clip Edit mode, click on VJ / Realtime effect mapping, (or hit ctrl-v).

Then the suggested way is to scroll over to the right and you will see 2 special fx key slots, ctrl-minus and ctrl-equals. You can use any key slot for this, but there is a reason to pick one of these two which I will mention below. Then from the key slot selected, click on the combo box and choose Audio Analysers. You should see two effects there, audio_fft and beat_detector. Select the effect you want, then click on Data Connections. From here you can link the effect out parameters to whatever you want to control. Beat Pulse is good if you want to trigger something on audio beats. One thing you can do is connect it to Activate of another effect / mode. In the dev version there are plenty fo data processing effects which can also be mapped and process the output (e.g. counter if you want to do something on 8 beats for example).

The outputs of audio_fft can also be connected to effect inputs. If you run out of effect keys, you can add more in Preferences / Effects. This is useful since only one mode per effect key can be active at any given moment.

After you have things set up, you can click on Save as default keymap, which will save the mapping _ data connections.

You can even play around with mappings during playback. Just press the 's' key and the player window will pop up in front of the mapper window.

I'll make a quick video clip to demonstrate what I mean.

salsaman commented 3 years ago

https://www.youtube.com/watch?v=1PqDrI8Ova4

ultr4CdS commented 3 years ago

yes, generally this software is worth my time... guide me and I will help. reading your comment now... way impressive software... best in the scene... just tell me what you need help with... btw you are my back up project.

salsaman commented 3 years ago

Cool stuff ! Not sure what you mean exactly by "back up" project. But anyway if you are into coding you could start by grepping the code for TODO's and see if anything interests you. Otherwise, just testing and bug reporting is always useful. If there any additional features you would like to see you can also log them here. I got notified of your comment on Youtube, but oddly it is not showing up for me under the clip. Yes if you have LADSPA filters then most of them can be used in LiVES. Just map them from the mapper window. If you are using jack as the audio player, they can even work on external audio.

ultr4CdS commented 3 years ago

ok, so. do you have any recomendations for emacs config to work on your code. I'll be grepping TODO's in my spare time.

salsaman commented 3 years ago

What I do normally is map several audio filters to one key slot, then you can either press 'k' after activateing trhat key, or else ctrl-alt- to grab the keymode, then 'm' to switch between modes (or shift-m to go backwards through modes). You can also toggle record mode by pressing 'r'. You can also set up MIDI control from Vj / Midi joystick learner. Plus you can also control the app remotely using OSC.

salsaman commented 3 years ago

I just use the default config in emacs. In the tools directory there is a shell script called ormat-code.sh which you should run from the top level directory before making any commits. i.e ./tools/format-code.sh

salsaman commented 3 years ago

If you are interested in the software engineering side of things, take alook at intents.h. I put a summary there of the LiVESObject system whcih I am gradually working towards. Thus far it has allowed me to unify real time effects and decoder plugins, which are now based around a common architecture.. Most of the other code is based around libweed (which despite the humourous name is a serious piece of architecture). It's basically a high performance, high concurrency multi purpose object system (though at amuch lower level than LiveSObjects). The code for that is rock solid now, It's all pretty well documentd in weed-docs, directory, along with the real time fx example.

salsaman commented 3 years ago

TRhat's probably a good place to start.