- /** Construct a SoundAsset, generating the MXF from the WAV files.
- * This may take some time; progress is indicated by emission of the Progress signal.
- * @param files Pathnames of sound files, in the order Left, Right, Centre, Lfe (sub), Left surround, Right surround.
- * @param mxf_path Pathname of MXF file to create.
- * @param progress Signal to inform of progress.
- * @param fps Frames per second.
- * @param length Length in frames.
- */
- SoundAsset (
- std::vector<std::string> const & files,
- std::string mxf_path,
- sigc::signal1<void, float>* progress,
- int fps,
- int length
- );
-
- /** Construct a SoundAsset, generating the MXF from the WAV files.
- * This may take some time; progress is indicated by emission of the Progress signal.
- * @param get_path Functor which returns a WAV file path for a given channel.
- * @param mxf_path Pathname of MXF file to create.
- * @param progress Signal to inform of progress.
- * @param fps Frames per second.
- * @param length Length in frames.
- * @param channels Number of audio channels.
- */
- SoundAsset (
- sigc::slot<std::string, Channel> get_path,
- std::string mxf_path,
- sigc::signal1<void, float>* progress,
- int fps,
- int length,
- int channels
- );
-
- /** Write details of this asset to a CPL stream.
- * @param s Stream.
- */
- void write_to_cpl (std::ostream& s) const;
+ explicit SoundAsset (boost::filesystem::path file);
+ SoundAsset (Fraction edit_rate, int sampling_rate, int channels);
+
+ boost::shared_ptr<SoundAssetWriter> start_write (boost::filesystem::path file, Standard standard);
+ boost::shared_ptr<SoundAssetReader> start_read () const;
+
+ bool equals (
+ boost::shared_ptr<const Asset> other,
+ EqualityOptions opt,
+ NoteHandler note
+ ) const;
+
+ /** @return number of channels */
+ int channels () const {
+ return _channels;
+ }
+
+ /** @return sampling rate in Hz */
+ int sampling_rate () const {
+ return _sampling_rate;
+ }
+
+ Fraction edit_rate () const {
+ return _edit_rate;
+ }
+
+ int64_t intrinsic_duration () const {
+ return _intrinsic_duration;
+ }
+
+ static bool valid_mxf (boost::filesystem::path);