Pattern::Pattern( const Pattern& other ) : TrackContentObject( other.m_instrumentTrack ), m_instrumentTrack( other.m_instrumentTrack ), m_patternType( other.m_patternType ), m_steps( other.m_steps ) { for( NoteVector::ConstIterator it = other.m_notes.begin(); it != other.m_notes.end(); ++it ) { m_notes.push_back( new Note( **it ) ); } init(); switch( getTrack()->trackContainer()->type() ) { case TrackContainer::BBContainer: setAutoResize( true ); break; case TrackContainer::SongContainer: // move down default: setAutoResize( false ); break; } }
AutomationPattern::AutomationPattern( const AutomationPattern & _pat_to_copy ) : TrackContentObject( _pat_to_copy.m_autoTrack ), m_autoTrack( _pat_to_copy.m_autoTrack ), m_objects( _pat_to_copy.m_objects ), m_tension( _pat_to_copy.m_tension ), m_progressionType( _pat_to_copy.m_progressionType ) { for( timeMap::const_iterator it = _pat_to_copy.m_timeMap.begin(); it != _pat_to_copy.m_timeMap.end(); ++it ) { m_timeMap[it.key()] = it.value(); m_tangents[it.key()] = _pat_to_copy.m_tangents[it.key()]; } switch( getTrack()->trackContainer()->type() ) { case TrackContainer::BBContainer: setAutoResize( true ); break; case TrackContainer::SongContainer: // move down default: setAutoResize( false ); break; } }
SampleTCO::SampleTCO( Track * _track ) : TrackContentObject( _track ), m_sampleBuffer( new SampleBuffer ) { saveJournallingState( false ); setSampleFile( "" ); restoreJournallingState(); // we need to receive bpm-change-events, because then we have to // change length of this TCO connect( Engine::getSong(), SIGNAL( tempoChanged( bpm_t ) ), this, SLOT( updateLength( bpm_t ) ) ); switch( getTrack()->trackContainer()->type() ) { case TrackContainer::BBContainer: setAutoResize( true ); break; case TrackContainer::SongContainer: // move down default: setAutoResize( false ); break; } }
AutomationPattern::AutomationPattern( AutomationTrack * _auto_track ) : TrackContentObject( _auto_track ), m_autoTrack( _auto_track ), m_objects(), m_tension( 1.0 ), m_progressionType( DiscreteProgression ), m_dragging( false ), m_isRecording( false ), m_lastRecordedValue( 0 ) { changeLength( MidiTime( 1, 0 ) ); if( getTrack() ) { switch( getTrack()->trackContainer()->type() ) { case TrackContainer::BBContainer: setAutoResize( true ); break; case TrackContainer::SongContainer: // move down default: setAutoResize( false ); break; } } }
SampleTCO::SampleTCO( Track * _track ) : TrackContentObject( _track ), m_sampleBuffer( new SampleBuffer ), m_isPlaying( false ) { saveJournallingState( false ); setSampleFile( "" ); restoreJournallingState(); // we need to receive bpm-change-events, because then we have to // change length of this TCO connect( Engine::getSong(), SIGNAL( tempoChanged( bpm_t ) ), this, SLOT( updateLength() ), Qt::DirectConnection ); connect( Engine::getSong(), SIGNAL( timeSignatureChanged( int,int ) ), this, SLOT( updateLength() ) ); //care about positionmarker TimeLineWidget * timeLine = Engine::getSong()->getPlayPos( Engine::getSong()->Mode_PlaySong ).m_timeLine; if( timeLine ) { connect( timeLine, SIGNAL( positionMarkerMoved() ), this, SLOT( playbackPositionChanged() ) ); } //playbutton clicked or space key / on Export Song set isPlaying to false connect( Engine::getSong(), SIGNAL( playbackStateChanged() ), this, SLOT( playbackPositionChanged() ), Qt::DirectConnection ); //care about loops connect( Engine::getSong(), SIGNAL( updateSampleTracks() ), this, SLOT( playbackPositionChanged() ), Qt::DirectConnection ); //care about mute TCOs connect( this, SIGNAL( dataChanged() ), this, SLOT( playbackPositionChanged() ) ); //care about mute track connect( getTrack()->getMutedModel(), SIGNAL( dataChanged() ), this, SLOT( playbackPositionChanged() ), Qt::DirectConnection ); //care about TCO position connect( this, SIGNAL( positionChanged() ), this, SLOT( updateTrackTcos() ) ); switch( getTrack()->trackContainer()->type() ) { case TrackContainer::BBContainer: setAutoResize( true ); break; case TrackContainer::SongContainer: // move down default: setAutoResize( false ); break; } updateTrackTcos(); }
Pattern::Pattern( InstrumentTrack * _instrument_track ) : TrackContentObject( _instrument_track ), m_instrumentTrack( _instrument_track ), m_patternType( BeatPattern ), m_steps( MidiTime::stepsPerTact() ) { setName( _instrument_track->name() ); init(); setAutoResize( true ); }
void EditWidget::onOptionsChanged(const OptionsNode &ANode) { if (ANode.path() == OPV_MESSAGES_EDITORAUTORESIZE) { setAutoResize(ANode.value().toBool()); } else if (ANode.path() == OPV_MESSAGES_EDITORMINIMUMLINES) { setMinimumHeightLines(ANode.value().toInt()); } }
BBTCO::BBTCO( Track * _track ) : TrackContentObject( _track ), m_color( 128, 128, 128 ), m_useStyleColor( true ) { tact_t t = Engine::getBBTrackContainer()->lengthOfBB( bbTrackIndex() ); if( t > 0 ) { saveJournallingState( false ); changeLength( MidiTime( t, 0 ) ); restoreJournallingState(); } setAutoResize( false ); }
gTree::gTree() { onRemove = NULL; datakey = g_hash_table_new((GHashFunc)g_str_hash,(GEqualFunc)gTree_equal); store = gtk_tree_store_new(2, G_TYPE_STRING, G_TYPE_POINTER); widget = NULL; //_editable = false; _resizable = false; _auto_resize = false; //_edited_row = NULL; _sorted = false; _ascending = true; _sort_column = 0; _init_sort = false; _sort_dirty = false; _expander = false; _no_click = 0; #if 0 if (view) { #if GTK_CHECK_VERSION(2, 12, 0) gtk_tree_view_set_show_expanders(GTK_TREE_VIEW(widget), false); #else GtkTreeViewColumn *column = gtk_tree_view_column_new(); //gtk_tree_view_column_pack_start(column,rgraph,false); //gtk_tree_view_column_pack_start(column,rtext,true); //gtk_tree_view_column_set_cell_data_func(column,rgraph,(GtkTreeCellDataFunc)tree_cell_graph,(gpointer)this,NULL); //gtk_tree_view_column_set_cell_data_func(column,rtext,(GtkTreeCellDataFunc)tree_cell_text,(gpointer)this,NULL); gtk_tree_view_column_set_visible(column, false); gtk_tree_view_append_column(GTK_TREE_VIEW(widget), column); gtk_tree_view_set_expander_column(GTK_TREE_VIEW(widget), column); #endif rgraph = gtk_cell_renderer_pixbuf_new(); g_object_ref_sink(rgraph); rtext = gtk_cell_renderer_text_new(); g_object_ref_sink(rtext); g_signal_connect(G_OBJECT(rtext), "edited", G_CALLBACK(cb_tree_edited), (gpointer)this); g_signal_connect(G_OBJECT(rtext), "editing-started", G_CALLBACK(cb_tree_started), (gpointer)this); g_signal_connect(G_OBJECT(rtext), "editing-canceled", G_CALLBACK(cb_tree_canceled), (gpointer)this); //addColumn(); setAutoResize(true); } #endif }
void EditWidget::onOptionsChanged(const OptionsNode &ANode) { if (ANode.path() == OPV_MESSAGES_EDITORAUTORESIZE) { setAutoResize(ANode.value().toBool()); } else if (ANode.path() == OPV_MESSAGES_EDITORMINIMUMLINES) { setMinimumLines(ANode.value().toInt()); } else if (ANode.path() == OPV_MESSAGES_EDITORMAXIMUMLINES) { setMaximumLines(ANode.value().toInt()); } else if (ANode.path() == OPV_MESSAGES_EDITORSENDKEY) { QKeySequence key = ANode.value().value<QKeySequence>(); if (key.isEmpty()) key = Options::defaultValue(OPV_MESSAGES_EDITORSENDKEY).value<QKeySequence>(); setSendKey(key); ; } }