+
+#ifdef __clang__
+__attribute__((annotate("realtime")))
+#endif
+void
+Track::setup_invisible_processors_oh_children_of_mine (ProcessorList& new_processors)
+{
+ ProcessorList::iterator insert_pos;
+
+ switch (_disk_io_point) {
+ case DiskIOPreFader:
+ insert_pos = find (new_processors.begin(), new_processors.end(), _trim);
+ if (insert_pos != new_processors.end()) {
+ insert_pos = new_processors.insert (insert_pos, _disk_writer);
+ new_processors.insert (insert_pos, _disk_reader);
+ }
+ break;
+ case DiskIOPostFader:
+ insert_pos = find (new_processors.begin(), new_processors.end(), _main_outs);
+ if (insert_pos != new_processors.end()) {
+ insert_pos = new_processors.insert (insert_pos, _disk_writer);
+ new_processors.insert (insert_pos, _disk_reader);
+ }
+ case DiskIOCustom:
+ break;
+ }
+}