diff --git a/libs/ardour/ardour/cliprec.h b/libs/ardour/ardour/cliprec.h new file mode 100644 index 0000000000..9c3ee45e74 --- /dev/null +++ b/libs/ardour/ardour/cliprec.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2023 Paul Davis + * + * 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; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __ardour_cliprec_h__ +#define __ardour_cliprec_h__ + + +#include "pbd/ringbufferNPT.h" + +#include "ardour/processor.h" + +namespace ARDOUR { + +class AudioFileSource; +class Session; + +template class MidiRingBuffer; + +class LIBARDOUR_API ClipRecProcessor : public Processor +{ + public: + ClipRecProcessor (Session&, std::string const & name); + void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool result_required); + bool can_support_io_configuration (const ChanCount& in, ChanCount& out); + + private: + +}; + +} /* namespace */ + +#endif /* __ardour_cliprec_h__ */ diff --git a/libs/ardour/cliprec.cc b/libs/ardour/cliprec.cc new file mode 100644 index 0000000000..9f2089c75b --- /dev/null +++ b/libs/ardour/cliprec.cc @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2023 Paul Davis + * + * 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; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "ardour/cliprec.h" + +using namespace ARDOUR; + +ClipRecProcessor::ClipRecProcessor (Session& s, std::string const & name) + : Processor (s, name, Temporal::BeatTime) +{ +} + +bool +ClipRecProcessor::can_support_io_configuration (const ChanCount& in, ChanCount& out) +{ + if (in.n_midi() != 0 && in.n_midi() != 1) { + /* we only support zero or 1 MIDI stream */ + return false; + } + + /* currently no way to deliver different channels that we receive */ + out = in; + + return true; +} + +void +ClipRecProcessor::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool result_required) +{ + return; +} +