diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-01-17 22:16:05 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-01-17 22:16:05 +0000 |
| commit | 9fd79fb05fa47833ed431d83d73fd6d9a4a9f774 (patch) | |
| tree | ce80b7905738eb342536f48ebb1712ad0f47ab1f /src/sound_asset.h | |
| parent | f389d903e967f44a5d6eed60df48bd5a89994bb2 (diff) | |
Asset -> MXF in some cases.
Diffstat (limited to 'src/sound_asset.h')
| -rw-r--r-- | src/sound_asset.h | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/src/sound_asset.h b/src/sound_asset.h deleted file mode 100644 index ce08c512..00000000 --- a/src/sound_asset.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - Copyright (C) 2012 Carl Hetherington <cth@carlh.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; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef LIBDCP_SOUND_ASSET_H -#define LIBDCP_SOUND_ASSET_H - -/** @file src/sound_asset.h - * @brief An asset made up of PCM audio data files - */ - -#include "mxf_asset.h" -#include "types.h" -#include "metadata.h" - -namespace dcp -{ - -class SoundFrame; -class SoundAsset; - -class SoundAssetWriter -{ -public: - void write (float const * const *, int); - void finalize (); - -private: - friend class SoundAsset; - - SoundAssetWriter (SoundAsset *); - - /* no copy construction */ - SoundAssetWriter (SoundAssetWriter const &); - SoundAssetWriter& operator= (SoundAssetWriter const &); - - void write_current_frame (); - - /* do this with an opaque pointer so we don't have to include - ASDCP headers - */ - - struct ASDCPState; - boost::shared_ptr<ASDCPState> _state; - - SoundAsset* _asset; - bool _finalized; - int _frames_written; - int _frame_buffer_offset; -}; - -/** @brief An asset made up of WAV files */ -class SoundAsset : public MXFAsset -{ -public: - SoundAsset (boost::filesystem::path directory, boost::filesystem::path mxf_name); - - void read (); - - boost::shared_ptr<SoundAssetWriter> start_write (); - - bool equals (boost::shared_ptr<const ContentAsset> other, EqualityOptions opt, boost::function<void (NoteType, std::string)> note) const; - - boost::shared_ptr<const SoundFrame> get_frame (int n) const; - - void set_channels (int c) { - _channels = c; - } - - int channels () const { - return _channels; - } - - void set_sampling_rate (int s) { - _sampling_rate = s; - } - - int sampling_rate () const { - return _sampling_rate; - } - -private: - std::string key_type () const; - void construct (boost::function<boost::filesystem::path (Channel)> get_path); - std::string cpl_node_name () const; - - /** Number of channels in the asset */ - int _channels; - int _sampling_rate; -}; - -} - -#endif |
