diff --git a/libs/ardour/ardour/bundle.h b/libs/ardour/ardour/bundle.h index cf035133ea..00a661999d 100644 --- a/libs/ardour/ardour/bundle.h +++ b/libs/ardour/ardour/bundle.h @@ -178,8 +178,8 @@ public: int channel; ///< channel index, or -1 for "all" }; +std::ostream & operator<< (std::ostream & o, Bundle const &); + } -std::ostream & operator<< (std::ostream & o, ARDOUR::Bundle const &); - #endif /* __ardour_bundle_h__ */ diff --git a/libs/ardour/ardour/chan_count.h b/libs/ardour/ardour/chan_count.h index a62d5dc70f..438d5abaa1 100644 --- a/libs/ardour/ardour/chan_count.h +++ b/libs/ardour/ardour/chan_count.h @@ -212,9 +212,9 @@ private: uint32_t _counts[DataType::num_types]; }; -} // namespace ARDOUR +LIBARDOUR_API std::ostream& operator<<(std::ostream& o, const ChanCount& c); -LIBARDOUR_API std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanCount& c); +} // namespace ARDOUR #endif // __ardour_chan_count_h__ diff --git a/libs/ardour/ardour/chan_mapping.h b/libs/ardour/ardour/chan_mapping.h index 21838a1221..ef7344c9ed 100644 --- a/libs/ardour/ardour/chan_mapping.h +++ b/libs/ardour/ardour/chan_mapping.h @@ -136,9 +136,9 @@ private: Mappings _mappings; }; -} // namespace ARDOUR +std::ostream& operator<<(std::ostream& o, const ChanMapping& m); -std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& m); +} // namespace ARDOUR #endif // __ardour_chan_mapping_h__ diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h index 8b4b55f6e4..22a0ac98c1 100644 --- a/libs/ardour/ardour/plugin_insert.h +++ b/libs/ardour/ardour/plugin_insert.h @@ -447,8 +447,8 @@ private: GATOMIC_QUAL gint _flush; }; +std::ostream& operator<<(std::ostream& o, const PluginInsert::Match& m); + } // namespace ARDOUR -std::ostream& operator<<(std::ostream& o, const ARDOUR::PluginInsert::Match& m); - #endif /* __ardour_plugin_insert_h__ */ diff --git a/libs/ardour/ardour/presentation_info.h b/libs/ardour/ardour/presentation_info.h index 023b947730..05da7bb0a3 100644 --- a/libs/ardour/ardour/presentation_info.h +++ b/libs/ardour/ardour/presentation_info.h @@ -280,8 +280,8 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful static int selection_counter; }; +LIBARDOUR_API std::ostream& operator<<(std::ostream& o, PresentationInfo const& rid); + } -std::ostream& operator<<(std::ostream& o, ARDOUR::PresentationInfo const& rid); - #endif /* __libardour_presentation_info_h__ */ diff --git a/libs/ardour/ardour/tempo.h b/libs/ardour/ardour/tempo.h index 69e1af1473..726f4a94e0 100644 --- a/libs/ardour/ardour/tempo.h +++ b/libs/ardour/ardour/tempo.h @@ -627,11 +627,11 @@ private: MeterSection* copy_metrics_and_point (const Metrics& metrics, Metrics& copy, MeterSection* section) const; }; -}; /* namespace ARDOUR */ +LIBARDOUR_API std::ostream& operator<< (std::ostream&, const Meter&); +LIBARDOUR_API std::ostream& operator<< (std::ostream&, const Tempo&); +LIBARDOUR_API std::ostream& operator<< (std::ostream&, const MetricSection&); -LIBARDOUR_API std::ostream& operator<< (std::ostream&, const ARDOUR::Meter&); -LIBARDOUR_API std::ostream& operator<< (std::ostream&, const ARDOUR::Tempo&); -LIBARDOUR_API std::ostream& operator<< (std::ostream&, const ARDOUR::MetricSection&); +}; /* namespace ARDOUR */ namespace PBD { DEFINE_ENUM_CONVERT (ARDOUR::TempoSection::Type) diff --git a/libs/ardour/chan_count.cc b/libs/ardour/chan_count.cc index 6324f8c0fb..1ee567fc3e 100644 --- a/libs/ardour/chan_count.cc +++ b/libs/ardour/chan_count.cc @@ -66,8 +66,9 @@ ChanCount::state(const std::string& name) const // Statics const ChanCount ChanCount::ZERO = ChanCount(); -} // namespace ARDOUR - -std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanCount& c) { +std::ostream& operator<<(std::ostream& o, const ChanCount& c) { return o << "AUDIO=" << c.n_audio() << ":MIDI=" << c.n_midi(); } + +} // namespace ARDOUR + diff --git a/libs/ardour/chan_mapping.cc b/libs/ardour/chan_mapping.cc index d907efe732..02817fcb62 100644 --- a/libs/ardour/chan_mapping.cc +++ b/libs/ardour/chan_mapping.cc @@ -257,16 +257,12 @@ ChanMapping::count () const return rv; } - - -} // namespace ARDOUR - -std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& cm) +std::ostream& operator<<(std::ostream& o, const ChanMapping& cm) { - const ARDOUR::ChanMapping::Mappings& mp (cm.mappings()); - for (ARDOUR::ChanMapping::Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) { + const ChanMapping::Mappings& mp (cm.mappings()); + for (ChanMapping::Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) { o << tm->first.to_string() << endl; - for (ARDOUR::ChanMapping::TypeMapping::const_iterator i = tm->second.begin(); + for (ChanMapping::TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) { o << "\t" << i->first << " => " << i->second << endl; } @@ -274,3 +270,5 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& cm) return o; } + +} // namespace ARDOUR diff --git a/libs/ardour/ltc_slave.cc b/libs/ardour/ltc_slave.cc index 6a2f71dacb..b9f4c25459 100644 --- a/libs/ardour/ltc_slave.cc +++ b/libs/ardour/ltc_slave.cc @@ -264,6 +264,7 @@ LTC_TransportMaster::equal_ltc_sample_time(LTCFrame *a, LTCFrame *b) { } return true; } + static ostream& operator<< (ostream& ostr, LTCFrame& a) { ostr diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index b0048bbd01..2470ce9094 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -3382,7 +3382,7 @@ PluginInsert::clear_stats () g_atomic_int_set (&_stat_reset, 1); } -std::ostream& operator<<(std::ostream& o, const ARDOUR::PluginInsert::Match& m) +std::ostream& ARDOUR::operator<<(std::ostream& o, const ARDOUR::PluginInsert::Match& m) { switch (m.method) { case PluginInsert::Impossible: o << "Impossible"; break; diff --git a/libs/ardour/presentation_info.cc b/libs/ardour/presentation_info.cc index 52cbaa39df..db34179f2a 100644 --- a/libs/ardour/presentation_info.cc +++ b/libs/ardour/presentation_info.cc @@ -297,7 +297,7 @@ PresentationInfo::operator= (PresentationInfo const& other) } std::ostream& -operator<<(std::ostream& o, ARDOUR::PresentationInfo const& pi) +ARDOUR::operator<<(std::ostream& o, ARDOUR::PresentationInfo const& pi) { return o << pi.order() << '/' << enum_2_string (pi.flags()) << '/' << pi.color(); } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 60d4583c73..c9fb5657ef 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3230,17 +3230,11 @@ Session::add_routes_inner (RouteList& new_routes, bool input_auto_connect, bool } } -#if !defined(__APPLE__) && !defined(__FreeBSD__) - /* clang complains: 'operator<<' should be declared prior to the call site or in an associated namespace of one of its - * arguments std::ostream& operator<<(std::ostream& o, ARDOUR::PresentationInfo const& rid)" - */ DEBUG_TRACE (DEBUG::OrderKeys, string_compose ("added route %1, group order %2 type %3 (summary: %4)\n", r->name(), r->presentation_info().order(), enum_2_string (r->presentation_info().flags()), r->presentation_info())); -#endif - if (input_auto_connect || output_auto_connect) { auto_connect_route (r, input_auto_connect, output_auto_connect, ChanCount (), ChanCount (), existing_inputs, existing_outputs); diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc index 38e3ecc9b5..a164cf2c93 100644 --- a/libs/ardour/tempo.cc +++ b/libs/ardour/tempo.cc @@ -4943,17 +4943,17 @@ struct bbtcmp { }; std::ostream& -operator<< (std::ostream& o, const Meter& m) { +ARDOUR::operator<< (std::ostream& o, const ARDOUR::Meter& m) { return o << m.divisions_per_bar() << '/' << m.note_divisor(); } std::ostream& -operator<< (std::ostream& o, const Tempo& t) { +ARDOUR::operator<< (std::ostream& o, const ARDOUR::Tempo& t) { return o << t.note_types_per_minute() << " 1/" << t.note_type() << "'s per minute"; } std::ostream& -operator<< (std::ostream& o, const MetricSection& section) { +ARDOUR::operator<< (std::ostream& o, const ARDOUR::MetricSection& section) { o << "MetricSection @ " << section.sample() << ' '; diff --git a/libs/canvas/canvas/canvas.h b/libs/canvas/canvas/canvas.h index 90b6db4192..ba87c262f6 100644 --- a/libs/canvas/canvas/canvas.h +++ b/libs/canvas/canvas/canvas.h @@ -323,8 +323,8 @@ private: void scrolled (); }; +std::ostream& operator<< (std::ostream&, const Canvas&); + } -std::ostream& operator<< (std::ostream&, const ArdourCanvas::Canvas&); - #endif diff --git a/libs/canvas/canvas/item.h b/libs/canvas/canvas/item.h index 9d9ee62219..0b03dc294e 100644 --- a/libs/canvas/canvas/item.h +++ b/libs/canvas/canvas/item.h @@ -333,7 +333,7 @@ private: void propagate_show_hide (); }; -extern LIBCANVAS_API std::ostream& operator<< (std::ostream&, const ArdourCanvas::Item&); +extern LIBCANVAS_API std::ostream& operator<< (std::ostream&, const Item&); } diff --git a/libs/evoral/ControlSet.cc b/libs/evoral/ControlSet.cc index c9096187db..82b841dca8 100644 --- a/libs/evoral/ControlSet.cc +++ b/libs/evoral/ControlSet.cc @@ -104,12 +104,11 @@ ControlSet::clear_controls () } } -} // namespace Evoral - -/* No good place for this so just put it here */ - std::ostream& -std::operator<< (std::ostream & str, Evoral::Parameter const & p) +operator<< (std::ostream & str, Parameter const & p) { return str << p.type() << '-' << p.id() << '-' << (int) p.channel(); } + +} // namespace Evoral + diff --git a/libs/evoral/evoral/Parameter.h b/libs/evoral/evoral/Parameter.h index 672afec653..5af6937c1f 100644 --- a/libs/evoral/evoral/Parameter.h +++ b/libs/evoral/evoral/Parameter.h @@ -87,11 +87,9 @@ private: uint8_t _channel; }; -} // namespace Evoral +std::ostream& operator<< (std::ostream &str, Parameter const &); -namespace std { -std::ostream& operator<< (std::ostream &str, Evoral::Parameter const &); -} +} // namespace Evoral #endif // EVORAL_PARAMETER_HPP diff --git a/libs/evoral/evoral/Sequence.h b/libs/evoral/evoral/Sequence.h index 04864dde8d..15f09a3fa4 100644 --- a/libs/evoral/evoral/Sequence.h +++ b/libs/evoral/evoral/Sequence.h @@ -371,11 +371,9 @@ private: uint8_t _highest_note; }; +template /*LIBEVORAL_API*/ std::ostream& operator<<(std::ostream& o, const Evoral::Sequence