diff options
author | deva <deva> | 2011-07-15 13:02:33 +0000 |
---|---|---|
committer | deva <deva> | 2011-07-15 13:02:33 +0000 |
commit | cd0e36773992e26985bdec1f7a5341f83fa3e521 (patch) | |
tree | 4710fb3f2465f4b464f5f6176261a67cfde2e46e /src/audiooutputenginesndfile.cc | |
parent | e190d38057892b69246391841b234a368bc2b4ad (diff) |
New input/output plugin architecture. New LV2 plugin.
Diffstat (limited to 'src/audiooutputenginesndfile.cc')
-rw-r--r-- | src/audiooutputenginesndfile.cc | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/audiooutputenginesndfile.cc b/src/audiooutputenginesndfile.cc deleted file mode 100644 index f311180..0000000 --- a/src/audiooutputenginesndfile.cc +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * audiooutputenginesndfile.cc - * - * Tue Sep 21 09:31:30 CEST 2010 - * Copyright 2010 Bent Bisballe Nyeng - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of DrumGizmo. - * - * DrumGizmo 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. - * - * DrumGizmo 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 DrumGizmo; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#include "audiooutputenginesndfile.h" - -#include "drumgizmo.h" - -AudioOutputEngineSndFile::AudioOutputEngineSndFile(std::string file) -{ - filename = file; -} - -AudioOutputEngineSndFile::~AudioOutputEngineSndFile() -{ - if(fh) sf_close(fh); -} - -bool AudioOutputEngineSndFile::init(Channels *channels) -{ - this->channels = channels; - - sf_info.channels = channels->size(); - sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT; - sf_info.samplerate = 44100; - - fh = sf_open(filename.c_str(), SFM_WRITE, &sf_info); - if(!fh) { - printf("Load error...\n"); - return false; - } - - channel_t c = 0; - Channels::iterator i = channels->begin(); - while(i != channels->end()) { - i->num = c; - i++; - c++; - } - - return true; -} - -void AudioOutputEngineSndFile::run(DrumGizmo *gizmo) -{ - sample_t s[channels->size()]; - - while(gizmo->isRunning()) { - - gizmo->pre(1); - Channels::iterator i = channels->begin(); - while(i != channels->end()) { - s[i->num] = 0.0; - gizmo->getSamples(&(*i), &(s[i->num]), 1); - i++; - } - - gizmo->post(1); - - sf_writef_float(fh, s, 1); - } -} |