Image 01
profile-image

centic

Dominik Stadler
soundKonverter

Audio Extractors/Converters 606 comments

Score 87.6%
Oct 01 2017
Thanks, see https://bugs.launchpad.net/soundkonverter/+bug/382242 for a bug-report and https://launchpad.net/~dominik-stadler/+archive/ppa for a corresponding Ubuntu package.

Thanks... Dominik. - May 31 2009
I have at least one more patch which adds an "Eject" button to the GUI to let the user eject the CD if possible. Do you have another place where patches should go than this discussion forum?

Thanks... Dominik. - May 31 2009
You can retrieve updated packages for soundkonverter at https://launchpad.net/~dominik-stadler/+archive/ppa for Ubuntu 9.04 which include this patch. - May 30 2009
I have produced a patch which fixes this problem, it ensures that file handles are closed early and removes a file handle leak and a memory leak related to QFile objects.

--- a/src/paranoia.cpp 2008-03-02 11:34:31.000000000 +0100
+++ b/src/paranoia.cpp 2009-05-30 12:47:39.000000000 +0200
@@ -103,8 +103,11 @@
char dev[4][4]={"","","",""};

f = new QFile( "/proc/sys/dev/cdrom/info" );
- if ( !f->open(IO_ReadOnly) )
+ if ( !f->open(IO_ReadOnly) ) {
+ f->close();
+ delete f;
return false;
+ }

QTextStream t( f );
while ( !t.eof() && !stop ) {
@@ -112,18 +115,25 @@
if ( s.contains("drive name:") )
stop = true;
}
- if ( !stop )
+ if ( !stop ) {
+ f->close();
+ delete f;
return false;
+ }

pos = s.find(":");
c = s.right( s.length()-pos-1 );
sscanf( c.latin1(), "%s %s %s %s", dev[0], dev[1], dev[2], dev[3] );

for ( i=0; i<4; i++ )
- if ( procCdrom( dev[i] ) )
+ if ( procCdrom( dev[i] ) ) {
+ f->close();
+ delete f;
return true;
+ }

f->close();
+ delete f;
return false;
}

--- a/src/cdmanager.h 2008-03-02 11:34:32.000000000 +0100
+++ b/src/cdmanager.h 2009-05-30 16:25:21.000000000 +0200
@@ -29,7 +29,7 @@
virtual ~CDDevice();

QString device;
- Paranoia* para;
+ //Paranoia* para;
QValueList<TagData*> tags;
TagData* discTags;
int trackCount;
--- a/src/cdmanager.cpp 2008-03-02 11:34:32.000000000 +0100
+++ b/src/cdmanager.cpp 2009-05-30 16:26:05.000000000 +0200
@@ -61,7 +61,7 @@
}
}

- para = new Paranoia();
+ Paranoia* para = new Paranoia();
for( i = 0; i < (int)s.count(); i++ ) {
if( init = para->init(s[i]) ) {
device = s[i];
@@ -103,9 +103,9 @@
else {
KMessageBox::information( 0, i18n("No audio CD found."), i18n("Warning") );
device = "";
- delete para;
- para = 0;
}
+
+ delete para;
}

CDDevice::~CDDevice()

- May 30 2009
Thanks for the tool, overall it is very well done and allows to rip CDs very quickly.

However it seems soundkonverter does not close some of it's file handles. If I rip from Audio CDs, it leaves some file-handles open.

One effect of this seems to be that I cannot eject the CD using the button on the cd drive after ripping it, only typing "eject" on the commandline ejects the CD.

before:
ls -al /proc/27757/fd
...
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 12 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 13 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 14 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 15 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 16 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 17 -> /dev/sr0


after opening the CD selection dialog:
ls -al /proc/27757/fd
...
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 12 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 13 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 14 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 15 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 16 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 17 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 18 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 19 -> /dev/sr0

Thanks... Dominik. - May 30 2009
Applet HDAPS

Plasma 4 Widgets 15 comments

Score 50.0%
Apr 05 2008
I use this fix to run the applet successfully, so as far as I see it works. - Dec 28 2008
I think the following might be better, the only change to above is one line commented out, although I could not yet fully test this.

void AppletHdaps::init()
{
//Plasma::Svg* m_svg;
m_svg = new Plasma::Svg(this);
m_svg->setImagePath("widgets/drive-harddisk-running");
m_svg->setContainsMultipleImages( false );
updateGeometry();

searchDevices();

connect(m_pTimer, SIGNAL(timeout()), this, SLOT(doSomething()));
m_pTimer->start(250);
}
- Nov 27 2008
khdapsmonitor

System Software 3 comments

Score 50.0%
Jun 29 2006
The following patch allows me to run it on both versions of the kernel-interfaces:

--- sysfs.cpp.orig 2008-11-26 10:49:27.000000000 +0100
+++ sysfs.cpp 2008-11-26 10:53:06.000000000 +0100
@@ -62,14 +62,22 @@
while (i < deviceList.count())
{
if(QFile("/sys/block/" + deviceList[i] + "/queue/protect").exists())
- i++;
+ i++;
+ // newer kernels provide a different interface
+ else if (QFile("/sys/block/" + deviceList[i] + "/device/unload_heads").exists())
+ i++;
else
deviceList.remove(deviceList.at(i));
}
+
return deviceList;
}

bool SysFS::queueProtected(QString device)
{
- return fileBool("/sys/block/" + device + "/queue/protect");
+ // newer kernels provide a different interface
+ if (QFile("/sys/block/" + device + "/device/unload_heads").exists())
+ return fileBool("/sys/block/" + device + "/device/unload_heads");
+ else
+ return fileBool("/sys/block/" + device + "/queue/protect");
}
- Nov 26 2008
amaroK juKebox

Amarok 1.x Scripts 3 comments

by hugok
Score 50.0%
May 04 2005
Hi,

if I try to run this with amarok-1.4, I get the following errors:

Traceback (most recent call last):
File "/home/dstadler/.kde3.5/share/apps/amarok/scripts/amarok-jukebox_0.6/jukebox.py", line 36, in ?
jukebox = Jukebox()
File "/home/dstadler/.kde3.5/share/apps/amarok/scripts/amarok-jukebox_0.6/jukebox.py", line 26, in __init__
signal.signal(signal.SIGKILL, self.__exit_signal_handler)
RuntimeError: (22, 'Invalid argument')

or is this rather a problem of my python-installation?

Thanks... Dominik. - May 25 2006
wabaroK - amaroK web interface

Amarok 1.x Scripts 30 comments

by jjl
Score 50.0%
Dec 04 2005
I think this means that songs by an artist without an album assigned are not shown in the artis-view.

So if you look for a song from Nick Cave, you just see the Albums of Nick Cave, but not a single song that is not assigned to an album in the collection that is from him.

I hope that makes it a bit clearer... Dominik. - May 25 2006
soundKonverter

Audio Extractors/Converters
by HessiJames

Score 87.6%
May 31 2009
Kdenlive

Video Apps
by jbm

Score 86.0%
9   Jan 03 2011