Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GstElement "notify::*" calls not working? #111

Open
dlbeswick opened this issue Aug 7, 2021 · 2 comments
Open

GstElement "notify::*" calls not working? #111

dlbeswick opened this issue Aug 7, 2021 · 2 comments

Comments

@dlbeswick
Copy link
Contributor

While working on the tests I was having some trouble with "test_bt_sequence_ticks". That test creates a song with a simsyn, and a simple pattern that modifies its "wave" parameter. The test then attaches a signal to the element's "notify::wave" and plays the song to test whether the element's properties are updated properly by the playing song. The test fails currently because no updates happen.

I have not been able to get callbacks by manually attaching to "notify::wave", i.e. just in gstbt_sim_syn_init, and I noticed that the Machine Properties Dialog isn't updating when machine parameters change from song patterns. Has something changed/broken in GStreamer to do with notify::* callbacks recently that stops them firing?

I'll create a small GStreamer test program to find out more, but just putting this bug here in the meantime in case someone knows more.

Here's the song I've been using to test: test_bt_sequence_ticks.txt

@ensonic
Copy link
Member

ensonic commented Aug 12, 2021

This test is indeed not working for me either. I've should have disabled it with a comment. I worked at some point, but so far I was not able to figure out whats wrong.

I have a hunch though. A while ago I extracted common 'components' from plugins. The actual simsyn is just a container that 'proxies' certain properties from the components:
https://github.com/Buzztrax/buzztrax/blob/master/src/gst/audio/simsyn.c#L252

For that I created this helper:

bt_g_param_spec_clone (GObjectClass * src_class, const gchar * src_name)

I probably missed some details.

To check:

@dlbeswick
Copy link
Contributor Author

Thanks heaps for the pointers -- I'll look into this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants