-
- snprintf (_broadcast_info->originator, sizeof (_broadcast_info->originator), "ardour:%s:%s:%s:%s:%s)",
- Glib::get_real_name().c_str(),
- utsinfo.nodename,
- utsinfo.sysname,
- utsinfo.release,
- utsinfo.version);
-
- _broadcast_info->version = 1;
- _broadcast_info->time_reference_low = 0;
- _broadcast_info->time_reference_high = 0;
-
- /* XXX do something about this field */
-
- snprintf (_broadcast_info->umid, sizeof (_broadcast_info->umid), "%s", "fnord");
-
- /* coding history is added by libsndfile */
-
- if (sf_command (sf, SFC_SET_BROADCAST_INFO, _broadcast_info, sizeof (_broadcast_info)) != SF_TRUE) {
- char errbuf[256];
- sf_error_str (0, errbuf, sizeof (errbuf) - 1);
- error << string_compose (_("cannot set broadcast info for audio file %1 (%2); dropping broadcast info for this file"), _path, errbuf) << endmsg;
+
+ _broadcast_info->set_from_session (s, header_position_offset);
+ _broadcast_info->set_description (string_compose ("BWF %1", _name));
+
+ if (!_broadcast_info->write_to_file (sf)) {
+ error << string_compose (_("cannot set broadcast info for audio file %1 (%2); dropping broadcast info for this file"),
+ _path, _broadcast_info->get_error())
+ << endmsg;