diff foosdk/sdk/foobar2000/SDK/titleformat_object.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foosdk/sdk/foobar2000/SDK/titleformat_object.h	Mon Jan 05 02:15:46 2026 -0500
@@ -0,0 +1,20 @@
+#pragma once
+
+// titleformat_object extracted from titleformat.h as it's more commonly used than other titleformat.h stuff
+
+class file_info; class titleformat_hook; class titleformat_text_filter;
+
+//! Represents precompiled executable title-formatting script. Use titleformat_compiler to instantiate; do not reimplement.
+class NOVTABLE titleformat_object : public service_base
+{
+public:
+	virtual void run(titleformat_hook * p_source,pfc::string_base & p_out,titleformat_text_filter * p_filter)=0;
+
+	void run_hook(const playable_location & p_location,const file_info * p_source,titleformat_hook * p_hook,pfc::string_base & p_out,titleformat_text_filter * p_filter);
+	void run_simple(const playable_location & p_location,const file_info * p_source,pfc::string_base & p_out);
+
+	//! Helper, see titleformat_object_v2::requires_metadb_info()
+	bool requires_metadb_info_();
+
+	FB2K_MAKE_SERVICE_INTERFACE(titleformat_object,service_base);
+};