Msf AudioProjectConvertingJob::trackLength( int trackIndex ) const { if( AudioTrack* track = d->doc->getTrack( trackIndex ) ) return track->length(); else return Msf(); }
K3b::Msf K3b::Msf::fromAudioBytes( qint64 bytes ) { if( bytes % 2352 != 0 ) { kWarning() << "bytes:" << bytes << "(not aligned to" << 2352 << ")!"; } return Msf( bytes/2352 ); }
void K3b::ImageWritingDialog::toggleAll() { K3b::Medium medium = k3bappcore->mediaCache()->medium( d->writerSelectionWidget->writerDevice() ); // set usable writing apps // for now we only restrict ourselves in case of CD images switch( d->currentImageType() ) { case IMAGE_CDRDAO_TOC: d->writerSelectionWidget->setSupportedWritingApps( K3b::WritingAppCdrdao ); break; case IMAGE_CDRECORD_CLONE: d->writerSelectionWidget->setSupportedWritingApps( K3b::WritingAppCdrecord ); break; default: { K3b::WritingApps apps = K3b::WritingAppCdrecord; if ( d->currentImageType() == IMAGE_ISO ) { // DVD/BD is always ISO here apps |= K3b::WritingAppGrowisofs; } if ( K3b::Device::isCdMedia( medium.diskInfo().mediaType() ) ) apps |= K3b::WritingAppCdrdao; d->writerSelectionWidget->setSupportedWritingApps( apps ); break; } } // set a wanted media type (DVD/BD -> only ISO) if ( d->currentImageType() == IMAGE_ISO || d->currentImageType() == IMAGE_UNKNOWN ) { d->writerSelectionWidget->setWantedMediumType( K3b::Device::MEDIA_WRITABLE ); } else { d->writerSelectionWidget->setWantedMediumType( K3b::Device::MEDIA_WRITABLE_CD ); } // set wanted image size if ( d->currentImageType() == IMAGE_ISO ) d->writerSelectionWidget->setWantedMediumSize( K3b::filesize( KUrl(d->imagePath()) )/2048 ); else d->writerSelectionWidget->setWantedMediumSize( Msf() ); // cdrecord clone and cue both need DAO if( d->writerSelectionWidget->writingApp() != K3b::WritingAppCdrdao && ( d->currentImageType() == IMAGE_ISO || d->currentImageType() == IMAGE_AUDIO_CUE ) ) d->writingModeWidget->determineSupportedModesFromMedium( medium ); else d->writingModeWidget->setSupportedModes( K3b::WritingModeSao ); // enable the Write-Button if we found a valid image or the user forced an image type setButtonEnabled( START_BUTTON, d->writerSelectionWidget->writerDevice() && d->currentImageType() != IMAGE_UNKNOWN && QFile::exists( d->imagePath() ) ); // some stuff is only available for iso images if( d->currentImageType() == IMAGE_ISO ) { d->checkVerify->show(); if( !d->advancedTabVisible ) { d->advancedTabIndex = d->optionTabbed->addTab( d->advancedTab, i18n("Advanced") ); } d->advancedTabVisible = true; if( d->checkDummy->isChecked() ) { d->checkVerify->setEnabled( false ); d->checkVerify->setChecked( false ); } else d->checkVerify->setEnabled( true ); } else { if( d->advancedTabVisible ) { d->optionTabbed->removeTab( d->advancedTabIndex ); } d->advancedTabVisible = false; d->checkVerify->hide(); } // and some other stuff only makes sense for audio cues if( d->currentImageType() == IMAGE_AUDIO_CUE ) { if( !d->tempPathTabVisible ) d->tempPathTabIndex = d->optionTabbed->addTab( d->tempPathTab, i18n("&Image") ); d->tempPathTabVisible = true; d->tempDirSelectionWidget->setDisabled( !d->checkCacheImage->isChecked() ); } else { if( d->tempPathTabVisible ) { d->optionTabbed->removeTab( d->tempPathTabIndex ); } d->tempPathTabVisible = false; } d->checkCacheImage->setVisible( d->currentImageType() == IMAGE_AUDIO_CUE ); d->spinCopies->setEnabled( !d->checkDummy->isChecked() ); if( QTreeWidgetItem* item = d->infoView->topLevelItem( 0 ) ) { item->setForeground( 1, d->currentImageType() != d->foundImageType ? d->negativeTextColor : d->normalTextColor ); } }
bool K3b::IsOverburnAllowed( const K3b::Msf& projectSize, const K3b::Msf& capacity ) { return IsOverburnAllowed( projectSize, capacity, Msf() ); }