Your message dated Mon, 12 Oct 2015 12:25:38 +0000
with message-id <[email protected]>
and subject line Bug#801071: Removed package(s) from unstable
has caused the Debian Bug report #575168,
regarding minirok: [PATCH] A proposal of patch enabling changing of the volume
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
575168: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575168
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: minirok
Version: 2.1-1
Severity: wishlist
Tags: patch
Hi, I added a simple volume control to minirok - it needs to be polished, but
I'm sending the patch so that I get some feedback (whether it's even acceptable
by developer).
Btw, I'm not sure how to send attachments to this bug reporting system, so
I'm including the git patch as cleartext (it's against the today's GIT head):
------------------------------
0001-Added-support-for-volume-changing.patch
------------------------------
>From b730f049276cc9b2cfd494cd40c3f0609d717088 Mon Sep 17 00:00:00 2001
From: Andrej Krutak <[email protected]>
Date: Tue, 23 Mar 2010 23:21:21 +0100
Subject: [PATCH] Added support for volume changing
---
minirok/engine.py | 19 +++++++++++++++++++
minirok/statusbar.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/minirok/engine.py b/minirok/engine.py
index 1bfb8d0..b258991 100644
--- a/minirok/engine.py
+++ b/minirok/engine.py
@@ -42,6 +42,15 @@ class GStreamerEngine(QtCore.QObject):
if gst.registry_get_default().find_plugin(plugin) is not None:
self._supported_extensions.extend(extensions)
+ self.last_volume = 100
+
+ self.bin = None
+ self.reset()
+
+ def reset(self):
+ if self.bin is not None:
+ self.stop()
+
self.uri = None
self._status = State.STOPPED
self.bin = gst.element_factory_make('playbin')
@@ -62,6 +71,7 @@ class GStreamerEngine(QtCore.QObject):
self.time_fmt = gst.Format(gst.FORMAT_TIME)
self.seek_pending = False
+ self.set_volume(self.last_volume);
##
def _set_status(self, value):
@@ -84,6 +94,8 @@ class GStreamerEngine(QtCore.QObject):
##
def play(self, path):
+ self.reset()
+
self.uri = 'file://' + os.path.abspath(path)
self.bin.set_property('uri', self.uri)
self.bin.set_state(gst.STATE_NULL)
@@ -122,6 +134,13 @@ class GStreamerEngine(QtCore.QObject):
##
+ def set_volume(self, volume):
+ self.bin.set_property("volume", volume/100.0)
+ self.last_volume = volume
+
+ def get_volume(self):
+ return self.bin.get_property("volume")*100.0
+
def _message_eos(self, bus, message):
self.bin.set_state(gst.STATE_NULL)
self.status = State.STOPPED
diff --git a/minirok/statusbar.py b/minirok/statusbar.py
index cf40118..3983380 100644
--- a/minirok/statusbar.py
+++ b/minirok/statusbar.py
@@ -23,6 +23,7 @@ class StatusBar(kdeui.KStatusBar):
kdeui.KStatusBar.__init__(self, *args)
self.seek_to = None
+ self.volume = None
self.timer = util.QTimerWithPause(self)
self.blink_timer = QtCore.QTimer(self)
@@ -33,17 +34,25 @@ class StatusBar(kdeui.KStatusBar):
self.slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.label1 = TimeLabel(self)
self.label2 = NegativeTimeLabel(self)
+ self.volume_slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.slider.setTracking(False)
self.slider.setMaximumWidth(150)
self.slider.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.volume_slider.setTracking(True)
+ self.volume_slider.setMaximumWidth(100)
+ self.volume_slider.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.volume_slider.setRange(0, 100)
+ self.volume_slider.setValue(100)
+
self.setContentsMargins(0, 0, 4, 0)
self.addPermanentWidget(self.repeat, 0)
self.addPermanentWidget(self.random, 0)
self.addPermanentWidget(self.label1, 0)
self.addPermanentWidget(self.slider, 0)
self.addPermanentWidget(self.label2, 0)
+ self.addPermanentWidget(self.volume_slider, 0)
self.slot_stop()
@@ -60,6 +69,9 @@ class StatusBar(kdeui.KStatusBar):
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'),
lambda: self.handle_slider_event(self.SLIDER_RELEASED))
+ self.connect(self.volume_slider, QtCore.SIGNAL('valueChanged(int)'),
+ self.handle_volume_slider_event)
+
self.connect(minirok.Globals.playlist, QtCore.SIGNAL('new_track'),
self.slot_start)
@@ -78,12 +90,25 @@ class StatusBar(kdeui.KStatusBar):
'Toggle random mode', self.random.mousePressEvent,
QtGui.QIcon(util.get_png('random_small')), 'Ctrl+R')
+ self.action_seek_forward = util.create_action('action_seek_forward',
+ 'Seek forward', self.slot_seek_forward,
global_shortcut='Meta+Right')
+
+ self.action_seek_backward = util.create_action('action_seek_backward',
+ 'Seek backward', self.slot_seek_backward,
global_shortcut='Meta+Left')
+
+ self.action_volume_up = util.create_action('action_volume_up',
+ 'Increase volume', self.slot_volume_up,
global_shortcut='Meta+Up')
+
+ self.action_volume_down = util.create_action('action_volume_down',
+ 'Decrease volume', self.slot_volume_down,
global_shortcut='Meta+Down')
+
def slot_update(self):
self.elapsed = minirok.Globals.engine.get_position()
self.remaining = self.length - self.elapsed
self.slider.setValue(self.elapsed)
self.label1.set_time(self.elapsed)
self.label2.set_time(self.remaining) # XXX what if length was unset
+ self.volume_slider.setValue(minirok.Globals.engine.get_volume())
def slot_start(self):
tags = minirok.Globals.playlist.get_current_tags()
@@ -140,6 +165,25 @@ class StatusBar(kdeui.KStatusBar):
else:
minirok.logger.warn('unknown slider event %r', what)
+ def handle_volume_slider_event(self):
+ minirok.Globals.engine.set_volume(self.volume_slider.value())
+
+ def slot_seek_forward(self):
+ self.slider.setValue(self.slider.value()+5)
+ self.seek_to=self.slider.value()
+ self.handle_slider_event(self.SLIDER_RELEASED)
+
+ def slot_seek_backward(self):
+ self.slider.setValue(self.slider.value()-5)
+ self.seek_to=self.slider.value()
+ self.handle_slider_event(self.SLIDER_RELEASED)
+
+ def slot_volume_up(self):
+ self.volume_slider.setValue(self.volume_slider.value()+5)
+
+ def slot_volume_down(self):
+ self.volume_slider.setValue(self.volume_slider.value()-5)
+
def _connect_timer(self, disconnect=False):
f = disconnect and self.disconnect or self.connect
f(self.timer, QtCore.SIGNAL('timeout()'), self.slot_update)
--
1.7.0
--- End Message ---
--- Begin Message ---
Version: 2.1-1+rm
Dear submitter,
as the package minirok has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/801071
The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].
Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)
--- End Message ---