AutomationTrack.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * AutomationTrack.h - declaration of class AutomationTrack, which handles
  3. * automation of objects without a track
  4. *
  5. * Copyright (c) 2008-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
  6. * Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
  7. *
  8. * This file is part of LMMS - https://lmms.io
  9. *
  10. * This program is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public
  12. * License as published by the Free Software Foundation; either
  13. * version 2 of the License, or (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  18. * General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU General Public
  21. * License along with this program (see COPYING); if not, write to the
  22. * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  23. * Boston, MA 02110-1301 USA.
  24. *
  25. */
  26. #ifndef AUTOMATION_TRACK_H
  27. #define AUTOMATION_TRACK_H
  28. #include "Track.h"
  29. class AutomationTrack : public Track
  30. {
  31. Q_OBJECT
  32. public:
  33. AutomationTrack( TrackContainer* tc, bool _hidden = false );
  34. virtual ~AutomationTrack() = default;
  35. virtual bool play( const TimePos & _start, const fpp_t _frames,
  36. const f_cnt_t _frame_base, int _clip_num = -1 ) override;
  37. QString nodeName() const override
  38. {
  39. return "automationtrack";
  40. }
  41. TrackView * createView( TrackContainerView* ) override;
  42. Clip* createClip(const TimePos & pos) override;
  43. virtual void saveTrackSpecificSettings( QDomDocument & _doc,
  44. QDomElement & _parent ) override;
  45. void loadTrackSpecificSettings( const QDomElement & _this ) override;
  46. private:
  47. friend class AutomationTrackView;
  48. } ;
  49. #endif