Changeset 611

Show
Ignore:
Timestamp:
10/31/08 22:05:08 (2 months ago)
Author:
wolke
Message:

more work

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.cpp

    r610 r611  
    2525#include <hydrogen/Song.h> 
    2626#include <hydrogen/instrument.h> 
     27#include "HydrogenApp.h" 
     28#include "SampleEditor.h" 
    2729using namespace H2Core; 
    2830 
     
    116118 
    117119 
     120void MainSampleWaveDisplay::updateDisplayPointer() 
     121{ 
     122        update(); 
     123} 
     124 
     125 
     126 
    118127void MainSampleWaveDisplay::updateDisplay( QString filename ) 
    119128{ 
     
    164173                } 
    165174        } 
    166 ERRORLOG( "jhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh" ); 
    167175        delete pNewSample; 
    168176        update(); 
     
    173181void MainSampleWaveDisplay::mouseMoveEvent(QMouseEvent *ev) 
    174182{ 
    175 //startframe pointer 
    176         if  ( ev->y() >= 230 ) { 
     183        testPosition( ev ); 
     184        update(); 
     185
     186 
     187 
     188 
     189void MainSampleWaveDisplay::mousePressEvent(QMouseEvent *ev) 
     190
     191        testPosition( ev ); 
     192        update(); 
     193
     194 
     195 
     196void MainSampleWaveDisplay::testPosition( QMouseEvent *ev ) 
     197
     198//startframepointer 
     199        if  (ev->y()>=240 ) { 
    177200                m_pStartFramePosition = ev->x() ; 
    178                 if ( m_pStartFramePosition > m_pLoopFramePosition ) m_pLoopFramePosition = m_pStartFramePosition; 
    179                 update(); 
    180         } 
     201                if ( m_pStartFramePosition > m_pLoopFramePosition )  
     202                        m_pLoopFramePosition = m_pStartFramePosition; 
     203                if ( m_pStartFramePosition > m_pEndFramePosition ){ 
     204                        m_pEndFramePosition = m_pStartFramePosition; 
     205                } 
     206//              update(); 
     207        } 
     208 
    181209//loopframeposition 
    182         else if  ( ev->y() <= 40 ) { 
     210        else if  (ev->y()<=40 ) { 
    183211                m_pLoopFramePosition = ev->x() ; 
    184                 if ( m_pLoopFramePosition < m_pStartFramePosition ) m_pStartFramePosition = m_pLoopFramePosition; 
    185                 update(); 
     212                if ( m_pLoopFramePosition < m_pStartFramePosition )  
     213                        m_pStartFramePosition = m_pLoopFramePosition; 
     214//              update(); 
    186215        } 
    187216//endframeposition 
    188         else if  ( ev->y() >= 90 && ev->y() <= 150  ) { 
     217        else if  ( ev->y() >= 90 && ev->y() <= 160  ) { 
    189218                m_pEndFramePosition = ev->x() ; 
    190219                if ( m_pEndFramePosition <  m_pLoopFramePosition ){ 
    191220                        m_pLoopFramePosition = m_pEndFramePosition; 
    192221                } 
    193                 update(); 
    194         } 
    195 
    196  
    197  
    198  
    199 void MainSampleWaveDisplay::mousePressEvent(QMouseEvent *ev) 
    200 
    201 //startframepointer 
    202         if  (ev->y()>=240 ) { 
    203                 m_pStartFramePosition = ev->x() ; 
    204                 if ( m_pStartFramePosition > m_pLoopFramePosition ) m_pLoopFramePosition = m_pStartFramePosition; 
    205                 update(); 
    206         } 
    207  
    208 //loopframeposition 
    209         else if  (ev->y()<=40 ) { 
    210                 m_pLoopFramePosition = ev->x() ; 
    211                 if ( m_pLoopFramePosition < m_pStartFramePosition ) m_pStartFramePosition = m_pLoopFramePosition; 
    212                 update(); 
    213         } 
    214 //endframeposition 
    215         else if  ( ev->y() >= 90 && ev->y() <= 150  ) { 
    216                 m_pEndFramePosition = ev->x() ; 
    217                 if ( m_pEndFramePosition <  m_pLoopFramePosition ){ 
    218                         m_pLoopFramePosition = m_pEndFramePosition; 
    219                 } 
    220                 update(); 
    221         } 
     222                if ( m_pEndFramePosition <  m_pStartFramePosition ){ 
     223                        m_pStartFramePosition = m_pEndFramePosition; 
     224                } 
     225//              update(); 
     226        } 
     227 
     228        if ( ( m_pStartFramePosition ) >= width() -25 ) m_pStartFramePosition =width() -25; 
     229        if ( ( m_pLoopFramePosition ) >= width() -25 ) m_pLoopFramePosition =width() -25; 
     230        if ( ( m_pEndFramePosition ) >= width() -25 ) m_pEndFramePosition =width() -25; 
     231        if ( ( m_pStartFramePosition ) <= 25 ) m_pStartFramePosition = 25; 
     232        if ( ( m_pLoopFramePosition ) <= 25 ) m_pLoopFramePosition = 25; 
     233        if ( ( m_pEndFramePosition ) <= 25 ) m_pEndFramePosition = 25; 
    222234} 
    223235 
     
    225237void MainSampleWaveDisplay::mouseReleaseEvent(QMouseEvent *ev) 
    226238{ 
    227 
    228  
    229  
    230  
    231  
    232  
     239        update(); 
     240        HydrogenApp::getInstance()->getSampleEditor()->returnAllMainWaveDisplayValues(); 
     241
     242 
     243 
     244 
     245 
     246 
  • branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/MainSampleWaveDisplay.h

    r610 r611  
    2626#include <QtGui> 
    2727#include <hydrogen/Object.h> 
    28  
    29  
     28#include "SampleEditor.h" 
     29class SampleEditor; 
    3030 
    3131class MainSampleWaveDisplay : public QWidget, public Object 
     
    3838 
    3939                void updateDisplay( QString filename ); 
     40                void updateDisplayPointer(); 
    4041 
    4142                void paintEvent(QPaintEvent *ev); 
     
    4445                int m_pEndFramePosition; 
    4546                bool m_pmove; 
     47 
    4648 
    4749        private: 
     
    5254                virtual void mousePressEvent(QMouseEvent *ev); 
    5355                virtual void mouseReleaseEvent(QMouseEvent *ev); 
    54  
     56                void testPosition( QMouseEvent *ev ); 
    5557}; 
    5658 
  • branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/SampleEditor.cpp

    r609 r611  
    6565        m_fade_out_type = m_pSample->get_fade_out_type(); 
    6666 
     67        QApplication::setOverrideCursor(Qt::WaitCursor); 
    6768// wavedisplays 
     69        m_divider = m_pSample->get_n_frames() / 574.0F; 
    6870        m_pMainSampleWaveDisplay = new MainSampleWaveDisplay( mainSampleview ); 
    6971        m_pMainSampleWaveDisplay->updateDisplay( Sample->get_filename() ); 
     
    7880//      m_pSampleAdjustView->move( 1, 1 ); 
    7981 
    80  
    81 // mainSampleview = 624 x 265 
     82        QApplication::restoreOverrideCursor(); 
     83 
     84        unsigned slframes = m_pSample->get_n_frames(); 
     85        StartFrameSpinBox->setMaximum( slframes ); 
     86        LoopCountSpinBox->setMaximum( slframes ); 
     87        EndFrameSpinBox->setMaximum( slframes ); 
     88        if ( !m_pSample->get_sample_is_modified() ){ 
     89                EndFrameSpinBox->setValue( slframes );  
     90        }else 
     91        { 
     92                EndFrameSpinBox->setValue( m_end_frame ); 
     93        } 
     94 
     95// mainSampleview = 624(575) x 265  
    8296// mainSampleAdjustView = 180 x 265 
    8397// targetSampleView = 451 x 91 
     
    93107// RestoreSamplePushButton 
    94108// ClosePushButton 
    95  
     109        connect( StartFrameSpinBox, SIGNAL( valueChanged( int ) ), this, SLOT( valueChangedStartFrameSpinBox(int) ) ); 
     110        connect( LoopFrameSpinBox, SIGNAL( valueChanged( int ) ), this, SLOT( valueChangedLoopFrameSpinBox(int) ) ); 
     111        connect( EndFrameSpinBox, SIGNAL( valueChanged( int ) ), this, SLOT( valueChangedEndFrameSpinBox(int) ) ); 
    96112} 
    97113 
     
    166182        } 
    167183} 
     184 
     185 
     186void SampleEditor::mouseReleaseEvent(QMouseEvent *ev) 
     187{ 
     188 
     189} 
     190 
     191void SampleEditor::returnAllMainWaveDisplayValues() 
     192{ 
     193//      QMessageBox::information ( this, "Hydrogen", trUtf8 ( "jep %1" ).arg(m_pSample->get_n_frames())); 
     194        m_sample_is_modified = true; 
     195        m_start_frame = m_pMainSampleWaveDisplay->m_pStartFramePosition * m_divider - 25 * m_divider; 
     196        m_loop_frame = m_pMainSampleWaveDisplay->m_pLoopFramePosition  * m_divider - 25 * m_divider; 
     197        m_end_frame = m_pMainSampleWaveDisplay->m_pEndFramePosition  * m_divider - 25 * m_divider ; 
     198 
     199        StartFrameSpinBox->setValue( m_start_frame ); 
     200        LoopFrameSpinBox->setValue( m_loop_frame ); 
     201        EndFrameSpinBox->setValue( m_end_frame );        
     202} 
     203 
     204 
     205void SampleEditor::valueChangedStartFrameSpinBox( int ) 
     206{ 
     207 
     208        m_pMainSampleWaveDisplay->m_pStartFramePosition = StartFrameSpinBox->value() / m_divider + 25 ; 
     209        m_pMainSampleWaveDisplay->updateDisplayPointer(); 
     210        //QMessageBox::information ( this, "Hydrogen", trUtf8 ( "jep %1" ).arg(StartFrameSpinBox->value() / m_divider + 25 )); 
     211} 
     212 
     213 
     214 
     215void SampleEditor::valueChangedLoopFrameSpinBox( int ) 
     216{ 
     217 
     218        m_pMainSampleWaveDisplay->m_pLoopFramePosition = LoopFrameSpinBox->value() / m_divider + 25 ; 
     219        m_pMainSampleWaveDisplay->updateDisplayPointer(); 
     220} 
     221 
     222 
     223 
     224void SampleEditor::valueChangedEndFrameSpinBox( int ) 
     225{ 
     226 
     227        m_pMainSampleWaveDisplay->m_pEndFramePosition = EndFrameSpinBox->value() / m_divider + 25 ; 
     228        m_pMainSampleWaveDisplay->updateDisplayPointer(); 
     229} 
  • branches/new_fx_rack_and_sample_fun/gui/src/SampleEditor/SampleEditor.h

    r609 r611  
    5656                bool getCloseQuestion(); 
    5757                bool m_pSampleEditorStatus; 
     58                void returnAllMainWaveDisplayValues(); 
    5859 
    5960 
     
    6263                void on_ClosePushButton_clicked(); 
    6364                void on_ApplyChangesPushButton_clicked(); 
    64  
     65                void valueChangedStartFrameSpinBox( int ); 
     66                void valueChangedLoopFrameSpinBox( int ); 
     67                void valueChangedEndFrameSpinBox( int ); 
    6568 
    6669        private: 
     
    7376        unsigned __end_frame;           ///< sample end frame 
    7477*/               
    75                QString m_samplename; 
    76                H2Core::Sample* m_pSample; 
     78        QString m_samplename; 
     79        H2Core::Sample* m_pSample; 
    7780 
    78                bool m_sample_is_modified;     ///< true if sample is modified 
    79                QString m_sample_mode;         ///< loop mode 
    80                unsigned m_fade_out_startframe;        ///< start frame for fade out 
    81                int m_fade_out_type;           ///< fade out type 1=lin, 2=log 
    82                int m_repeats;                 ///< repats from the loop section 
    83                unsigned m_start_frame;                ///< start frame 
    84                unsigned m_loop_frame;         ///< beginn of the loop section 
    85                unsigned m_end_frame;          ///< sample end frame 
     81        bool m_sample_is_modified;    ///< true if sample is modified 
     82        QString m_sample_mode;                ///< loop mode 
     83        unsigned m_fade_out_startframe;       ///< start frame for fade out 
     84        int m_fade_out_type;          ///< fade out type 1=lin, 2=log 
     85        int m_repeats;                        ///< repats from the loop section 
     86        unsigned m_start_frame;               ///< start frame 
     87        unsigned m_loop_frame;                ///< beginn of the loop section 
     88        unsigned m_end_frame;                 ///< sample end frame 
    8689 
    87                 void setAllSampleProps(); 
     90        double m_divider; 
     91 
     92        void setAllSampleProps(); 
     93        virtual void mouseReleaseEvent(QMouseEvent *ev); 
    8894 
    8995        MainSampleWaveDisplay *m_pMainSampleWaveDisplay;