Jordan Petridis
791e8544e0
PlayerRate: Change the container widget to GtkBox and add padding.
2018-06-23 13:12:41 +00:00
Jordan Petridis
2343bea3b7
Delete commented out code.
2018-06-23 13:12:41 +00:00
Jordan Petridis
98f1f54877
PlayerWidget: Add a widget to change the playback speed of the stream.
...
Only 3 options are offered currently since the design of the feature
is still in progress and this is only a throw a away prototype.
2018-06-23 13:12:41 +00:00
Jordan Petridis
6446105480
EpisodeWidget: Mark an episode as played when the play button is hit.
...
Ideally episodes would be marked as played only when they have
passed a cerain point in their duration, but till thats ready
we should keep marking them.
2018-06-23 13:12:40 +00:00
Jordan Petridis
2ac989091e
PlayerWidget: Delete commented out stuff.
2018-06-23 13:12:40 +00:00
Jordan Petridis
39d73c7b2b
PlayerInfo: Increase the size of the cover.
2018-06-23 13:12:40 +00:00
Jordan Petridis
8ea45093a3
PlayerInfo: Limit label widths and add tooltips.
2018-06-23 13:12:39 +00:00
Jordan Petridis
8c8d95014a
PlayerInfo: Swap bold properties of the labels.
2018-06-23 13:12:39 +00:00
Jordan Petridis
5ce7874ffa
PlayerExt: Add a stop method.
...
Also connect on the gst_player::Player::connect_on_stream_end method.
The main reason for this is to be able to reset the slider bar to 0
upon a stream ends.
2018-06-23 13:12:39 +00:00
Jordan Petridis
870f681d89
PlayerWidget: refactor seek method.
2018-06-23 13:12:38 +00:00
Jordan Petridis
c136a0f637
PlayerWidget: Rewind on pause.
2018-06-23 13:12:38 +00:00
Jordan Petridis
d159b72114
PlayerWidget: Remove an .expect() occurrence.
2018-06-23 13:12:38 +00:00
Jordan Petridis
a48f51cf3f
PlayerWidget: Tweak gst_player config.
2018-06-23 13:12:37 +00:00
Jordan Petridis
6c6620cfa9
PlayerTimes: Display human-friendly values.
2018-06-23 13:12:37 +00:00
Jordan Petridis
0c3c9b3e94
PlayerTimes: Replace unnecessary Arc with Rc.
2018-06-23 13:12:37 +00:00
Jordan Petridis
1f8a8b6e14
PlayerTimes: create wrapper struct of gst::ClockTime.
...
Now on_duration_changed requires a `Duration` type and
on_position_updated requires a `Position` type as oppose to
both accepting `ClockTime` as their argument.
2018-06-23 13:12:36 +00:00
Jordan Petridis
c31bd99d25
PlayerWidget: Group the button connect_clicked methods.
2018-06-23 13:12:36 +00:00
Jordan Petridis
d117b0bcc7
PlayerWidget: Move on_duration_change and on_postion_updated methods.
...
Previously they depended on the player/pipeline to get the ClockTime
values, and only `PlayerWidget` had access to the `gst_player::Player`
object.
Now that it uses the gst_player methods instead of the raw pipeline
methods to get the ClockTime values it no longer needs access to the whole
PlayerWidget object.
2018-06-23 13:12:36 +00:00
Jordan Petridis
8fa5b871ad
PlayerWidget: Refactor the position_changed/updated callback.
...
It now uses gst_player::Player::connect_position_updated callback
to send, cross threads, the `position` value to the gtk main loop
which then updates the widget.
2018-06-23 13:12:35 +00:00
Jordan Petridis
74460d938e
PlayerWidget::seek handle the case where the offset might be none.
2018-06-23 13:12:35 +00:00
Jordan Petridis
fff6f959de
PlayerWigdet: Refactor the way the duration label is updated.
...
This now connect's directly to gst_player::Player::connect_duration_changed
method.
The method then sends a cross-thread msg to the Action channel in the main loop that
then updates the widget.
2018-06-23 13:12:34 +00:00
Jordan Petridis
135323a6ee
PlayerWiget: refactor the seekbar connect signal.
2018-06-23 13:12:34 +00:00
Jordan Petridis
70ab0824f4
PlayerWidget: Log the gst warnings.
2018-06-23 13:12:33 +00:00
Jordan Petridis
1d53f0ac62
PlayerWidget: Remove unused vars an Enum.
2018-06-23 13:12:33 +00:00
Jordan Petridis
872d7d6c58
PlayerWidget: Connect the fast-forward and rewind buttons, sort of.
...
There appears to be a bug where it seeks 17 seconds instead of 10.
2018-06-23 13:12:32 +00:00
Jordan Petridis
27266b30df
PlayerWidget: Connect to the errors callback.
2018-06-23 13:12:32 +00:00
Jordan Petridis
f14f2f255c
PlayerWidget: Refactor the timers callbacks.
...
Should use the gst_player::Player callbacks instead but they require
the Send Trait which means we would need to use SendCell and that's
not something I am going to deal with right now.
2018-06-23 13:12:31 +00:00
Jordan Petridis
50c70e06b2
PlayerWidget: Set a custom config for the gst Player.
2018-06-23 13:12:31 +00:00
Jordan Petridis
b20ea22eaf
PlayerWidget: Wire the PlayerTimes labels and scale.
...
Adapted from gstreamer basic-tutorial-5.
https://gstreamer.freedesktop.org/documentation/tutorials/basic/toolkit-integration.html
2018-06-23 13:12:30 +00:00
Jordan Petridis
d671c07afb
PlayerWidget: Wire the play and pause buttons and add style classes to the Info Labels.
...
This also includes the yak shaving of a ::new and ::inti methods.
2018-06-23 13:12:30 +00:00
Jordan Petridis
d462264ab7
CI: disable debian builds fow now.
...
Debian stable provides gst 1.10 but the gst-rs bindings requiere
v 1.12 to build.
I will make custom images Soon™
2018-06-23 13:12:29 +00:00
Jordan Petridis
ae709c6371
h-gtk: Remove unused .ui file.
2018-06-23 13:12:29 +00:00
Jordan Petridis
e4f768707f
CI: Add gstreamer as a dep for the debian build.
2018-06-23 13:12:29 +00:00
Jordan Petridis
127088edd2
cargo fmt
2018-06-23 13:12:29 +00:00
Jordan Petridis
aee3fcf7bf
PlayerWidget: Wire the widget to the GUI.
...
This commit also removes the majority of the playback widget,
though most of it's code will make it to the PlayerWidget once
it starts to get wired to the gtreamer_plaer::Player.
2018-06-23 13:12:28 +00:00
Jordan Petridis
7ad16e5467
PlayerWidget: Intial draft of the the PlayerExt trait.
2018-06-23 13:12:28 +00:00
Jordan Petridis
a278bed302
h-gtk: Bind the new player widget to code.
2018-06-23 13:12:27 +00:00
Jordan Petridis
1359fc22a5
Rework the player widget.
2018-06-23 13:12:27 +00:00
Zander Brown
17d574eafe
Start hooking things up
...
Still doesn't accept input
2018-06-23 13:12:27 +00:00
Zander Brown
f26cb13174
Initial playback control area
...
(not plumbed in)
2018-06-23 13:12:26 +00:00
Zander Brown
7fe69c180f
Initial playback
...
... and not a lot more. Hit play and the podcast will play, press play on something else and that will play instead
2018-06-23 13:12:25 +00:00
Jordan Petridis
c4c7bbf46b
Content: Change the user-facing string of the home stack.
2018-06-23 16:11:00 +03:00
Jordan Petridis
7fdd374911
Update the gitlab bug issue template
2018-06-23 13:01:34 +00:00
Jordan Petridis
fb9ad9870d
Update the gitlab feature issue template.
2018-06-23 12:59:35 +00:00
Jordan Petridis
bbabc6f5e9
h-gtk: Add resources/ to the cargo check list.
2018-06-11 14:23:29 +03:00
Jordan Petridis
2060579bb4
gitlab templates: Fix markdown formatting.
2018-06-09 16:16:57 +03:00
Jordan Petridis
b0f0940605
Merge branch 'master' into 'master'
...
Our GActions don't need to be in the app namespace
See merge request World/hammond!39
2018-06-07 17:37:12 +00:00
Zander Brown
ee23df176d
Our GActions don't need to be in the app namespace
2018-06-07 18:06:36 +01:00
Jordan Petridis
d53865d81b
Update deps.
2018-06-07 16:14:40 +03:00
Jordan Petridis
7becfd8adb
Commit Updated Cargo.lock.
...
This was part of a9feed56fe but
forgot to commit it.
2018-06-07 15:47:41 +03:00