mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-30 16:02:00 +02:00
Hide time and position scale on LIVE media
This commit is contained in:
22
clapper_src/controls.js
vendored
22
clapper_src/controls.js
vendored
@@ -69,6 +69,18 @@ var Controls = GObject.registerClass({
|
|||||||
this.unfullscreenButton.set_visible(isFullscreen);
|
this.unfullscreenButton.set_visible(isFullscreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setLiveMode(isLive, isSeekable)
|
||||||
|
{
|
||||||
|
/* This update must always happen
|
||||||
|
* after media duration is set */
|
||||||
|
let text = (isLive)
|
||||||
|
? 'LIVE'
|
||||||
|
: '00:00:00' + '/' + this.durationFormated;
|
||||||
|
|
||||||
|
this.elapsedButton.set_label(text);
|
||||||
|
this.positionScale.visible = isSeekable;
|
||||||
|
}
|
||||||
|
|
||||||
addButton(buttonIcon)
|
addButton(buttonIcon)
|
||||||
{
|
{
|
||||||
let button = (buttonIcon instanceof Gtk.Button)
|
let button = (buttonIcon instanceof Gtk.Button)
|
||||||
@@ -186,6 +198,7 @@ var Controls = GObject.registerClass({
|
|||||||
hexpand: true,
|
hexpand: true,
|
||||||
valign: Gtk.Align.CENTER,
|
valign: Gtk.Align.CENTER,
|
||||||
can_focus: false,
|
can_focus: false,
|
||||||
|
visible: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.togglePlayButton.bind_property('margin_top',
|
this.togglePlayButton.bind_property('margin_top',
|
||||||
@@ -206,7 +219,14 @@ var Controls = GObject.registerClass({
|
|||||||
);
|
);
|
||||||
|
|
||||||
this.positionAdjustment = this.positionScale.get_adjustment();
|
this.positionAdjustment = this.positionScale.get_adjustment();
|
||||||
this.append(this.positionScale);
|
|
||||||
|
let box = new Gtk.Box({
|
||||||
|
orientation: Gtk.Orientation.HORIZONTAL,
|
||||||
|
hexpand: true,
|
||||||
|
can_focus: false,
|
||||||
|
});
|
||||||
|
box.append(this.positionScale);
|
||||||
|
this.append(box);
|
||||||
}
|
}
|
||||||
|
|
||||||
_addVolumeButton()
|
_addVolumeButton()
|
||||||
|
@@ -20,6 +20,8 @@ class ClapperInterface extends Gtk.Grid
|
|||||||
Object.assign(this, defaults, opts);
|
Object.assign(this, defaults, opts);
|
||||||
|
|
||||||
this.fullscreenMode = false;
|
this.fullscreenMode = false;
|
||||||
|
this.isSeekable = false;
|
||||||
|
|
||||||
this.lastVolumeValue = null;
|
this.lastVolumeValue = null;
|
||||||
this.lastPositionValue = 0;
|
this.lastPositionValue = 0;
|
||||||
this.lastRevealerEventTime = 0;
|
this.lastRevealerEventTime = 0;
|
||||||
@@ -129,11 +131,10 @@ class ClapperInterface extends Gtk.Grid
|
|||||||
/* Set titlebar media title and path */
|
/* Set titlebar media title and path */
|
||||||
this.updateTitles(mediaInfo);
|
this.updateTitles(mediaInfo);
|
||||||
|
|
||||||
// we can also check if video is "live" or "seekable" (right now unused)
|
/* Show/hide position scale on LIVE */
|
||||||
// it might be a good idea to hide position seek bar and disable seeking
|
let isLive = mediaInfo.is_live();
|
||||||
// when playing not seekable media (not implemented yet)
|
this.isSeekable = mediaInfo.is_seekable();
|
||||||
//let isLive = mediaInfo.is_live();
|
this.controls.setLiveMode(isLive, this.isSeekable);
|
||||||
//let isSeekable = mediaInfo.is_seekable();
|
|
||||||
|
|
||||||
let streamList = mediaInfo.get_stream_list();
|
let streamList = mediaInfo.get_stream_list();
|
||||||
let parsedInfo = {
|
let parsedInfo = {
|
||||||
@@ -323,7 +324,6 @@ class ClapperInterface extends Gtk.Grid
|
|||||||
this._player.set_visualization_enabled(false);
|
this._player.set_visualization_enabled(false);
|
||||||
debug('disabled visualizations');
|
debug('disabled visualizations');
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -383,7 +383,8 @@ class ClapperInterface extends Gtk.Grid
|
|||||||
_onPlayerPositionUpdated(player, position)
|
_onPlayerPositionUpdated(player, position)
|
||||||
{
|
{
|
||||||
if(
|
if(
|
||||||
this.controls.isPositionSeeking
|
!this.isSeekable
|
||||||
|
|| this.controls.isPositionSeeking
|
||||||
|| this._player.state === GstPlayer.PlayerState.BUFFERING
|
|| this._player.state === GstPlayer.PlayerState.BUFFERING
|
||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
@@ -14,10 +14,6 @@ scale marks {
|
|||||||
min-width: 36px;
|
min-width: 36px;
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
}
|
}
|
||||||
.osd scale trough highlight {
|
|
||||||
min-width: 0px;
|
|
||||||
min-height: 6px;
|
|
||||||
}
|
|
||||||
.osd radio {
|
.osd radio {
|
||||||
margin: 6px;
|
margin: 6px;
|
||||||
border: 2px solid;
|
border: 2px solid;
|
||||||
|
Reference in New Issue
Block a user