#pragma once
// The one place a MediaTrack* is formatted into the canonical GUID string used as
// a membership-index key. Both the Design View shell (view.cpp) and the actions
// layer (design_view_actions.cpp) key membership on this exact string, so the
// contract lives in a single helper rather than being re-derived at two call sites.
//
// The .cpp includes reaper_plugin_functions.h WITHOUT REAPERAPI_IMPLEMENT
// (main.cpp owns the API pointers). MediaTrack is forward-declared so this header
// stays SDK-lite.

#include <string>

class MediaTrack;

namespace reasampler {

// REAPER's canonical "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" form of a track's
// GUID (GetTrackGUID -> guidToString). Empty string if `tr` has no GUID. This IS
// the membership-index key format — it must match guidToString's braces exactly so
// the view tree keys and the model/actions keys align.
std::string guidString(MediaTrack* tr);

}  // namespace reasampler
