using namespace ARDOUR;
using namespace PBD;
-/* XXX This goes uninitialized when there is no ~/.config/ardour3 directory.
- * I can't figure out why, so this will do for now (just stole the
- * default from configuration_vars.h). 0 is not a good value for
- * allocating buffer sizes..
- */
-ARDOUR::framecnt_t Diskstream::disk_io_chunk_frames = 1024 * 256 / sizeof (Sample);
+ARDOUR::framecnt_t Diskstream::disk_read_chunk_frames = default_disk_read_chunk_frames ();
+ARDOUR::framecnt_t Diskstream::disk_write_chunk_frames = default_disk_write_chunk_frames ();
PBD::Signal0<void> Diskstream::DiskOverrun;
PBD::Signal0<void> Diskstream::DiskUnderrun;
{
XMLNode* node = new XMLNode ("Diskstream");
char buf[64];
- LocaleGuard lg (X_("POSIX"));
+ LocaleGuard lg (X_("C"));
node->add_property ("flags", enum_2_string (_flags));
node->add_property ("playlist", _playlist->name());
case Evoral::OverlapInternal:
/* ---------- recrange
- |---| transrange
- */
+ * |---| transrange
+ */
rec_nframes = nframes;
rec_offset = 0;
break;
case Evoral::OverlapStart:
/* |--------| recrange
- -----| transrange
- */
+ * -----| transrange
+ */
rec_nframes = transport_frame + nframes - first_recordable_frame;
if (rec_nframes) {
rec_offset = first_recordable_frame - transport_frame;
case Evoral::OverlapEnd:
/* |--------| recrange
- |-------- transrange
- */
+ * |-------- transrange
+ */
rec_nframes = last_recordable_frame - transport_frame;
rec_offset = 0;
break;
case Evoral::OverlapExternal:
/* |--------| recrange
- -------------- transrange
- */
+ * -------------- transrange
+ */
rec_nframes = last_recordable_frame - first_recordable_frame;
rec_offset = first_recordable_frame - transport_frame;
break;
{
g_atomic_int_set (&_record_enabled, 0);
}
+
+framecnt_t
+Diskstream::default_disk_read_chunk_frames()
+{
+ return 65536;
+}
+
+framecnt_t
+Diskstream::default_disk_write_chunk_frames ()
+{
+ return 65536;
+}