#define __ardour_broadcast_info_h__
#include <string>
-#include <ctime>
-#include <sndfile.h>
-
-#include <ardour/types.h>
-
-using std::string;
+#include "ardour/libardour_visibility.h"
+#include "audiographer/broadcast_info.h"
namespace ARDOUR
{
class Session;
-class BroadcastInfo
+class LIBARDOUR_API BroadcastInfo : public AudioGrapher::BroadcastInfo
{
public:
-
- /// Construct empty broadcast info
BroadcastInfo ();
- ~BroadcastInfo ();
-
- /// Returns last error sring from libsndfile
- string get_error () const { return error; }
-
- /* Convenience functions */
-
- void set_from_session (Session const & session, int64_t time);
-
- /* Reading */
-
- bool load_from_file (string const & filename);
- bool load_from_file (SNDFILE* sf);
-
- string get_description () const;
- int64_t get_time_reference () const;
- struct tm get_origination_time () const;
- string get_originator () const;
- string get_originator_ref () const;
-
- /* Writing */
-
- bool write_to_file (string const & filename);
- bool write_to_file (SNDFILE* sf);
-
- void set_description (string const & desc);
- void set_time_reference (int64_t when);
- void set_origination_time (struct tm * now = 0); // if 0, use time generated at construction
- void set_originator (string const & str = "");
- void set_originator_ref (string const & str = "");
-
- /* State info */
-
- /// Returns true if a info has been succesfully loaded or anything has been manually set
- bool has_info () const { return _has_info; }
-
- private:
-
- SF_BROADCAST_INFO * info;
- struct tm _time;
-
- void update_error ();
- string error;
-
- bool _has_info;
+
+ void set_from_session (Session const & session, int64_t time_ref);
+
+ void set_originator (std::string const & str = "");
+ void set_originator_ref_from_session (Session const &);
};