--- qsampler/trunk/src/qsamplerMainForm.ui.h 2007/01/15 16:21:01 1034 +++ qsampler/trunk/src/qsamplerMainForm.ui.h 2007/10/03 11:34:30 1372 @@ -58,6 +58,19 @@ #include #endif +// Needed for lroundf() +#include + +#ifndef CONFIG_ROUND +static inline long lroundf ( float x ) +{ + if (x >= 0.0f) + return long(x + 0.5f); + else + return long(x - 0.5f); +} +#endif + // Timer constant stuff. #define QSAMPLER_TIMER_MSECS 200 @@ -144,24 +157,25 @@ #ifdef CONFIG_VOLUME // Make some extras into the toolbar... - channelsToolbar->addSeparator(); const QString& sVolumeText = tr("Master volume"); m_iVolumeChanging = 0; // Volume slider... + channelsToolbar->addSeparator(); m_pVolumeSlider = new QSlider(Qt::Horizontal, channelsToolbar); -// m_pVolumeSlider->setTickmarks(QSlider::Below); -// m_pVolumeSlider->setTickInterval(10); + m_pVolumeSlider->setTickmarks(QSlider::Below); + m_pVolumeSlider->setTickInterval(10); m_pVolumeSlider->setPageStep(10); m_pVolumeSlider->setRange(0, 100); m_pVolumeSlider->setMaximumHeight(22); m_pVolumeSlider->setMinimumWidth(160); - m_pVolumeSlider->setSizePolicy( - QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); QToolTip::add(m_pVolumeSlider, sVolumeText); QObject::connect(m_pVolumeSlider, SIGNAL(valueChanged(int)), SLOT(volumeChanged(int))); + channelsToolbar->setHorizontallyStretchable(true); + channelsToolbar->setStretchableWidget(m_pVolumeSlider); // Volume spin-box + channelsToolbar->addSeparator(); m_pVolumeSpinBox = new QSpinBox(channelsToolbar); m_pVolumeSpinBox->setSuffix(" %"); m_pVolumeSpinBox->setRange(0, 100); @@ -1286,6 +1300,21 @@ } +// Edit current sampler channel. +void qsamplerMainForm::editEditChannel (void) +{ + if (m_pClient == NULL) + return; + + qsamplerChannelStrip *pChannelStrip = activeChannelStrip(); + if (pChannelStrip == NULL) + return; + + // Just invoque the channel strip procedure. + pChannelStrip->channelEdit(); +} + + // Reset current sampler channel. void qsamplerMainForm::editResetChannel (void) { @@ -1600,6 +1629,11 @@ sText += tr("MIDI instrument mapping support disabled."); sText += "
"; #endif +#ifndef CONFIG_EDIT_INSTRUMENT + sText += ""; + sText += tr("Instrument editing support disabled."); + sText += "
"; +#endif sText += "
\n"; sText += tr("Using") + ": "; sText += ::lscp_client_package(); @@ -1651,6 +1685,11 @@ editAddChannelAction->setEnabled(bHasClient); editRemoveChannelAction->setEnabled(bHasChannel); editSetupChannelAction->setEnabled(bHasChannel); +#ifdef CONFIG_EDIT_INSTRUMENT + editEditChannelAction->setEnabled(bHasChannel); +#else + editEditChannelAction->setEnabled(false); +#endif editResetChannelAction->setEnabled(bHasChannel); editResetAllChannelsAction->setEnabled(bHasChannel); viewMessagesAction->setOn(m_pMessages && m_pMessages->isVisible()); @@ -1658,6 +1697,8 @@ viewInstrumentsAction->setOn(m_pInstrumentListForm && m_pInstrumentListForm->isVisible()); viewInstrumentsAction->setEnabled(bHasClient); +#else + viewInstrumentsAction->setEnabled(false); #endif viewDevicesAction->setOn(m_pDeviceForm && m_pDeviceForm->isVisible()); @@ -1709,7 +1750,7 @@ m_iVolumeChanging++; // Update the toolbar widgets... - if (m_pVolumeSlider->value() != iVolume) + if (m_pVolumeSlider->value() != iVolume) m_pVolumeSlider->setValue(iVolume); if (m_pVolumeSpinBox->value() != iVolume) m_pVolumeSpinBox->setValue(iVolume); @@ -1719,7 +1760,7 @@ if (::lscp_set_volume(m_pClient, fVolume) == LSCP_OK) appendMessages(QObject::tr("Volume: %1.").arg(fVolume)); else - appendMessagesClient("lscp_set_channel_volume"); + appendMessagesClient("lscp_set_volume"); m_iVolumeChanging--; @@ -1750,7 +1791,7 @@ void qsamplerMainForm::updateSession (void) { #ifdef CONFIG_VOLUME - int iVolume = 100.0f * ::lscp_get_volume(m_pClient); + int iVolume = ::lroundf(100.0f * ::lscp_get_volume(m_pClient)); m_iVolumeChanging++; m_pVolumeSlider->setValue(iVolume); m_pVolumeSpinBox->setValue(iVolume);