!IlMdvXrwPGkeeOuMDw:matrix.org

Shortwave

154 Members
Find and listen to internet radio stations - Homepage: https://gitlab.gnome.org/World/Shortwave18 Servers

Load older messages


SenderMessageTime
20 Jul 2024
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix pushed 2 commits to main:
  • 0dd7222f window: Port to bottom sheets […] by Christopher Davis
  • 0e62b412 Merge branch 'wip/cdavis/port-to-bottom-sheets' into 'main' […]
21:40:21
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix merged merge request !488: window: Port to bottom sheets 21:40:21
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix pushed 1 commit to main: 21:41:03
@felix:haecker.ioFelix Chris 🌱️: thank you! 21:41:15
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix closed issue #715: More then 8 Stations leads to "Station data could not be received" 21:46:47
21 Jul 2024
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] translations pushed 1 commit to main:
  • 6f49cd0b Update Hebrew translation by Yosef Or Boczko
07:31:59
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] translations pushed 1 commit to main:
  • 0d785ed7 Update Chinese (China) translation by Luming Zh
11:46:23
22 Jul 2024
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] translations pushed 1 commit to main:
  • cf2d90cd Update Georgian translation by Ekaterine Papava
04:29:02
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] translations pushed 1 commit to main:
  • 447e54c9 Update Russian translation by Artur S0
13:07:20
23 Jul 2024
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] translations pushed 1 commit to main:
  • 9090c7dd Update Persian translation by Danial Behzadi
03:55:50
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix pushed 2 commits to wip/haeckerfelix/player-rewrite (new branch):
  • 20bd475d metainfo: drop wrong comment
  • df5f2915 audio: Create new SwPlayer class
14:28:22
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix opened merge request !495: Refactor audio / player backend

Goals

  • Get rid of app::Action enum
  • Get rid of Controller trait -> Make use of property bindings instead
  • Separate GTK UI from logic (Player contains both the logic and gtk widget machinery)

Unblock

  • https://gitlab.gnome.org/World/Shortwave/-/issues/704
  • https://gitlab.gnome.org/World/Shortwave/-/issues/471
  • https://gitlab.gnome.org/World/Shortwave/-/issues/475
14:33:10
@gitlab:t2bot.ioGitlab Notifications [World/Shortwave] haecker-felix changed the title of merge request !495 to WIP: Refactor audio / player backend 14:33:16
@felix:haecker.ioFelixTime to kill all the legacy code with 🔥14:34:30
24 Jul 2024
* @felix:haecker.ioFelix is really confused 20:37:40
@felix:haecker.ioFelix
volume_button.connect_value_changed(move |_, value| {
            // 1
            SwApplication::default().player().set_volume(value);

            // 2
            SwApplication::default()
                .imp()
                .legacy_player
                .set_volume(value);
        });

So I'm trying to port everything to a new SwPlayer class. Setting volume only works for 1 but not for 2. But both are calling the exactly same methods

legacy / 1 set_volume method

    pub fn set_volume(&self, volume: f64) {
        debug!("Set volume: {}", &volume);
        self.backend.borrow().gstreamer.set_volume(volume);

        settings_manager::set_double(Key::PlaybackVolume, volume);
    }

new SwPlayer set_volume method:

        fn set_volume(&self, volume: f64) {
            debug!("Set volume: {}", &volume);
            self.backend.borrow().gstreamer.set_volume(volume);
            self.volume.set(volume);

            settings_manager::set_double(Key::PlaybackVolume, volume);
        }

I can verify that both are calling gstreamer.set_volume which calls

            pulsesink.set_property("volume", pa_volume);
            dbg!(pulsesink.property::<f64>("volume"));

Both are coming from the same thread. But only 1 actually sets the volume. 2 doesn't change the volume, but sets the same pulsesink property (= I can see the debug output)

???

20:42:49
@felix:haecker.ioFelixI don't get it. 20:42:54
@felix:haecker.ioFelixAnd rubber duck debugging didn't help 20:43:18
* @felix:haecker.ioFelix wait's for the AAAH moment 20:43:39
@felix:haecker.ioFelix

What is this?? The volume gets set on gstreamer side, but it has no effect?! I'm updating the pulsesink property, but it just gets ignored when I call it from the new gobject class.

0:00:12.994361666     2 0x5576a175d560 DEBUG                  pulse pulsesink.c:2426:gst_pulsesink_set_volume:<pulsesink> setting volume to 0.272284
0:00:12.994379650     2 0x5576a175d560 DEBUG                  pulse pulsesink.c:2470:gst_pulsesink_set_volume:<pulsesink> we have no ringbuffer
0:00:12.994404496     2 0x5576a175d560 DEBUG                  pulse pulsesink.c:2644:gst_pulsesink_get_sink_input_info:<pulsesink> we have no ringbuffer
20:55:41
@felix:haecker.ioFelixDownload Screencast from 2024-07-24 22-54-00.mp420:57:16
@felix:haecker.ioFelix
  1. the bottom sheet calls the new SwPlayer class
  2. The mini player calls the old legacy player

Both end up on gstreamer side. But only 2) works, as you can see in pavucontrol. I don't get it why the volume doesn't get applied when gets called from the new class. It's 1:1 the same codepath.

20:59:34
@felix:haecker.ioFelixWhat is this?? True black magic. 20:59:53
@msandova:gnome.orgMaximiliano 🥑Ugh21:00:06
@msandova:gnome.orgMaximiliano 🥑Didt pay full atention21:00:14
@felix:haecker.ioFelixHow hard can it be to refactor the audio backend, when already this fails entirely 21:00:24
@msandova:gnome.orgMaximiliano 🥑But maybe the new codepath is not as multithread friendly21:00:57
@felix:haecker.ioFelixyes I thought the same21:01:06
@felix:haecker.ioFelixBUT21:01:07
@felix:haecker.ioFelix
            pulsesink.set_property("volume", pa_volume);
            dbg!(pulsesink.property::<f64>("volume"));
            dbg!(std::thread::current().id());

Both print the same thread ID

21:01:26

Show newer messages


Back to Room ListRoom Version: