From f34e201df47dee6d26a35c721bb4b33c12663ecf Mon Sep 17 00:00:00 2001 From: Javier Serrano Polo Date: Sat, 8 Jul 2006 00:08:31 +0000 Subject: [PATCH] initial release, to handle automation of objects without a track git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@206 0778d3d1-df1d-0410-868b-ea421aaaa00d --- include/automation_track.h | 69 ++++++++++++++++++++++++ src/tracks/automation_track.cpp | 96 +++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 include/automation_track.h create mode 100644 src/tracks/automation_track.cpp diff --git a/include/automation_track.h b/include/automation_track.h new file mode 100644 index 000000000..83a1275f4 --- /dev/null +++ b/include/automation_track.h @@ -0,0 +1,69 @@ +/* + * automation_track.h - declaration of class automationTrack, which handles + * automation of objects without a track + * + * Copyright (c) 2006 Javier Serrano Polo + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + */ + + +#ifndef _AUTOMATION_TRACK_H +#define _AUTOMATION_TRACK_H + +#include "track.h" + + +class automationTrack : public QWidget, public track +{ + Q_OBJECT +public: + automationTrack( trackContainer * _tc ); + virtual ~automationTrack(); + + +signals: + + +private: + inline QString nodeName( void ) const + { + return( "automation-track" ); + } + + virtual trackTypes type( void ) const; + + virtual bool FASTCALL play( const midiTime & _start, + const f_cnt_t _start_frame, + const fpab_t _frames, + const f_cnt_t _frame_base, + Sint16 _tco_num = -1 ); + + virtual trackContentObject * FASTCALL createTCO( const midiTime & + _pos ); + + virtual void FASTCALL saveTrackSpecificSettings( QDomDocument & _doc, + QDomElement & _parent ); + virtual void FASTCALL loadTrackSpecificSettings( const QDomElement & + _this ); + +} ; + + +#endif diff --git a/src/tracks/automation_track.cpp b/src/tracks/automation_track.cpp new file mode 100644 index 000000000..fb9f64ba4 --- /dev/null +++ b/src/tracks/automation_track.cpp @@ -0,0 +1,96 @@ +#ifndef SINGLE_SOURCE_COMPILE + +/* + * automation_track.cpp - automationTrack handles automation of objects without + * a track + * + * Copyright (c) 2006 Javier Serrano Polo + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + */ + + +#include "automation_track.h" + + + + +automationTrack::automationTrack( trackContainer * _tc ) : + track( _tc, FALSE ) +{ +} + + + + +automationTrack::~automationTrack() +{ +} + + + + +track::trackTypes automationTrack::type( void ) const +{ + return( AUTOMATION_TRACK ); +} + + + + +bool automationTrack::play( const midiTime & _start, + const f_cnt_t _start_frame, + const fpab_t _frames, + const f_cnt_t _frame_base, + Sint16 _tco_num ) +{ + sendMidiTime( _start ); + return( FALSE ); +} + + + + +trackContentObject * automationTrack::createTCO( const midiTime & ) +{ + return( NULL ); +} + + + + +void automationTrack::saveTrackSpecificSettings( QDomDocument & _doc, + QDomElement & _this ) +{ +} + + + + +void automationTrack::loadTrackSpecificSettings( const QDomElement & _this ) +{ +} + + + + +#include "automation_track.moc" + + +#endif