traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src audiofileio/encode/LameAudioWriter...


From: Ben Levitt
Subject: [Traverso-commit] traverso/src audiofileio/encode/LameAudioWriter...
Date: Sat, 22 Sep 2007 19:26:20 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/09/22 19:26:20

Modified files:
        src/audiofileio/encode: LameAudioWriter.cpp 
        src/traverso   : ExportWidget.cpp 

Log message:
        Clean up ExportWidget to not allow exporting to formats that don't 
currently work right.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/LameAudioWriter.cpp?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ExportWidget.cpp?cvsroot=traverso&r1=1.57&r2=1.58

Patches:
Index: audiofileio/encode/LameAudioWriter.cpp
===================================================================
RCS file: 
/sources/traverso/traverso/src/audiofileio/encode/LameAudioWriter.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- audiofileio/encode/LameAudioWriter.cpp      21 Sep 2007 17:01:06 -0000      
1.2
+++ audiofileio/encode/LameAudioWriter.cpp      22 Sep 2007 19:26:20 -0000      
1.3
@@ -123,11 +123,14 @@
                return false;
        }
        
-       lame_set_in_samplerate(m_lameInfo->flags, m_rate);
+       if (m_channels == 1) {
+               lame_set_mode(m_lameInfo->flags, MONO);
+       }
+       
        lame_set_num_channels(m_lameInfo->flags, m_channels);
+       lame_set_in_samplerate(m_lameInfo->flags, m_rate);
        lame_set_out_samplerate(m_lameInfo->flags, m_rate);
        
-
        if(m_method == 0) {
                // Constant Bitrate
                lame_set_VBR(m_lameInfo->flags, vbr_off);
@@ -176,11 +179,22 @@
                m_buffer = new char[m_bufferSize];
        }
        
-       int size = lame_encode_buffer_interleaved(m_lameInfo->flags,
+       int size;
+       if (m_channels == 1) {
+               size = lame_encode_buffer(m_lameInfo->flags,
+                                       (short*)buffer,
                                                  (short*)buffer,
                                                  frameCount,
                                                  (unsigned char*)m_buffer,
                                                  m_bufferSize);
+       }
+       else {
+               size = lame_encode_buffer_interleaved(m_lameInfo->flags,
+                                                       (short*)buffer,
+                                                       frameCount,
+                                                       (unsigned 
char*)m_buffer,
+                                                       m_bufferSize);
+       }
        
        if (size < 0) {
                PERROR("lame_encode_buffer_interleaved failed.");

Index: traverso/ExportWidget.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/ExportWidget.cpp,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- traverso/ExportWidget.cpp   21 Sep 2007 17:01:07 -0000      1.57
+++ traverso/ExportWidget.cpp   22 Sep 2007 19:26:20 -0000      1.58
@@ -67,8 +67,8 @@
        bitdepthComboBox->addItem("32", 32);
        bitdepthComboBox->addItem("32 (float)", 1);
        
-       channelComboBox->addItem("Stereo", 2);
        channelComboBox->addItem("Mono", 1);
+       channelComboBox->addItem("Stereo", 2);
        
        sampleRateComboBox->addItem("8.000 Hz", 8000);
        sampleRateComboBox->addItem("11.025 Hz", 11025);
@@ -88,6 +88,7 @@
        audioTypeComboBox->addItem("OGG", "ogg");
        
        bitdepthComboBox->setCurrentIndex(bitdepthComboBox->findData(16));
+       channelComboBox->setCurrentIndex(channelComboBox->findData(2));
        
        int rateIndex = 
sampleRateComboBox->findData(audiodevice().get_sample_rate());
        if (rateIndex == -1) {
@@ -214,16 +215,26 @@
 void ExportWidget::audio_type_changed(int index)
 {
        if (audioTypeComboBox->itemData(index).toString() == "mp3") {
-               mp3OptionsGroupBox->show();
                oggOptionsGroupBox->hide();
+               mp3OptionsGroupBox->show();
+               
bitdepthComboBox->setCurrentIndex(bitdepthComboBox->findData(16));
+               channelComboBox->setCurrentIndex(channelComboBox->findData(2));
+               bitdepthComboBox->setDisabled(true);
+               channelComboBox->setDisabled(true);
        }
        else if (audioTypeComboBox->itemData(index).toString() == "ogg") {
-               oggOptionsGroupBox->show();
                mp3OptionsGroupBox->hide();
+               oggOptionsGroupBox->show();
+               
bitdepthComboBox->setCurrentIndex(bitdepthComboBox->findData(16));
+               channelComboBox->setCurrentIndex(channelComboBox->findData(2));
+               bitdepthComboBox->setDisabled(true);
+               channelComboBox->setDisabled(true);
        }
        else {
                mp3OptionsGroupBox->hide();
                oggOptionsGroupBox->hide();
+               bitdepthComboBox->setEnabled(true);
+               channelComboBox->setEnabled(true);
        }
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]