X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fsndfilesource.h;h=4579a32b6df9c6bfe19ec2591c708a1807702687;hb=7c2302651559eda71833c291ddc17f4d590ad95a;hp=99fb9f4d09bcf866b50c34af347f145d77f1d0a2;hpb=fcabd5d8ee172e9d27423864448902ad99634ac5;p=ardour.git diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h index 99fb9f4d09..4579a32b6d 100644 --- a/libs/ardour/ardour/sndfilesource.h +++ b/libs/ardour/ardour/sndfilesource.h @@ -24,7 +24,6 @@ #include "ardour/audiofilesource.h" #include "ardour/broadcast_info.h" -#include "pbd/sndfile_manager.h" namespace ARDOUR { @@ -46,7 +45,7 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { SndFileSource (Session&, const std::string& path, int chn); /** Constructor to be called for existing in-session files during - * session loading + * session loading */ SndFileSource (Session&, const XMLNode&); @@ -67,6 +66,7 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { bool set_destructive (bool yn); bool one_of_several_channels () const; + uint32_t channel_count () const { return _info.channels; } bool clamped_at_unity () const; @@ -75,9 +75,9 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { static int get_soundfile_info (const std::string& path, SoundFileInfo& _info, std::string& error_msg); - void release_descriptor (); - protected: + void close (); + void set_path (const std::string& p); void set_header_timeline_position (); @@ -86,7 +86,7 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { framecnt_t write_float (Sample* data, framepos_t pos, framecnt_t cnt); private: - PBD::SndFileDescriptor* _descriptor; + SNDFILE* _sndfile; SF_INFO _info; BroadcastInfo *_broadcast_info; @@ -105,8 +105,6 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { bool _capture_end; framepos_t capture_start_frame; framepos_t file_pos; // unit is frames - framecnt_t xfade_out_count; - framecnt_t xfade_in_count; Sample* xfade_buf; framecnt_t crossfade (Sample* data, framecnt_t cnt, int dir); @@ -115,7 +113,6 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { framecnt_t nondestructive_write_unlocked (Sample *dst, framecnt_t cnt); void handle_header_position_change (); PBD::ScopedConnection header_position_connection; - PBD::ScopedConnection file_manager_connection; }; } // namespace ARDOUR