Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > b6fbae519bb8b175e9f7b2b5e509adb9 > files > 2

kscd-4.10.2-1.mga3.src.rpm

diff --git a/audiocd.cpp b/audiocd.cpp
index 5a1f308..d3aa457 100644
--- a/audiocd.cpp
+++ b/audiocd.cpp
@@ -89,7 +89,7 @@ AudioCD::AudioCD(Solid::Device aCd)
 			{
 				cd = devList[i].as<Solid::OpticalDisc>();
 				block = odsign.as<Solid::Block>();
-				src = new MediaSource(Cd,block->device());
+				src = new MediaSource(Phonon::Cd, block->device());
 			}
 		}
 	}
@@ -165,7 +165,7 @@ void AudioCD::reloadCD()
 				kDebug() << "CD inserted!";
 				cd = devList[i].as<Solid::OpticalDisc>();
 				block = odsign.as<Solid::Block>();
-				src = new MediaSource(Cd,block->device());
+				src = new MediaSource(Phonon::Cd, block->device());
 				emit(discChanged ());
 			}
 		}
diff --git a/hwcontroler.cpp b/hwcontroler.cpp
index fe56e58..455d683 100644
--- a/hwcontroler.cpp
+++ b/hwcontroler.cpp
@@ -75,12 +75,21 @@ HWControler::HWControler ()
 	// else loading  all optical drives
 	else
 	{
+		kDebug() << devList.size() << "Optical Drive detected in the computer";
 		for (int i = 0; i < devList.size();i++)
 		{
 			cdIn.append(new AudioCD(devList[i]));
+			if ((selectedCd==-1) && cdIn[i]->isCdInserted() && (cdIn[i]->getCd()->availableContent() == Solid::OpticalDisc::Audio))
+			{
+				selectedCd = i;
+				kDebug() << "Optical Drive selected :" << cdIn[selectedCd]->getMediaSource()->deviceName();
+			}
+		}
+		if (selectedCd==-1)
+		{
 			selectedCd = 0;
-			connect(cdIn[selectedCd],SIGNAL(discChanged()),this,SLOT(configMedia()));
 		}
+		connect(cdIn[selectedCd],SIGNAL(discChanged()),this,SLOT(configMedia()));
 	}
 
 	//TODO: Load ALL audio output
@@ -499,14 +508,12 @@ void HWControler::setRandom(bool b)
 
 bool HWControler::isDiscValid()
 {
-/*	if(getCD()->isCdInserted())
+	if((selectedCd!=-1) && (cdIn[selectedCd]->isCdInserted()))
 	{
-		return !(getCD()->getCd()->discType()&0x01) ;
+		return (cdIn[selectedCd]->getCd()->availableContent() == Solid::OpticalDisc::Audio);
 	}
 	else
 		return false;
-*/
-return true;
 }
 
 void HWControler ::loadPlayList()