diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 3c5a24e0c6..6e242bcdfb 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -359,6 +359,7 @@ public: uint32_t ntracks () const; uint32_t naudiotracks () const; uint32_t nbusses () const; + bool empty () const; bool plot_process_graph (std::string const& file_name) const; diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 03a0495a53..786e152029 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -3146,6 +3146,7 @@ LuaBindings::common (lua_State* L) .addFunction ("name", &Session::name) .addFunction ("path", &Session::path) .addFunction ("uuid", &Session::uuid) + .addFunction ("empty", &Session::empty) .addFunction ("record_status", &Session::record_status) .addFunction ("maybe_enable_record", &Session::maybe_enable_record) .addFunction ("disable_record", &Session::disable_record) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 0ccb29aab5..77914a8970 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -6736,6 +6736,20 @@ Session::nstripables (bool with_monitor) const return rv; } +bool +Session::empty() const +{ + StripableList sl; + get_stripables (sl); + for (auto const& s: sl) { + if (s->is_singleton ()) { + continue; + } + return false; + } + return true; +} + bool Session::plot_process_graph (std::string const& file_name) const { return _graph_chain ? _graph_chain->plot (file_name) : false;