#pragma once #include #include #include /** * House of Mixtape API client (Path 2 plugin → registry.houseofmixtape.com). * Skeleton — submit/poll/output endpoints are stubbed; the actual * HTTP/JUCE URL wiring lands in a follow-up commit. */ class HomApiClient { public: using ProgressCallback = std::function; using DoneCallback = std::function; using ErrorCallback = std::function; explicit HomApiClient (juce::String registryBaseUrl); // Async: upload + submit + poll until done|error. void submitJobAsync (const juce::File& audio, ProgressCallback onProgress, DoneCallback onDone, ErrorCallback onError); void setBearerToken (const juce::String& token) { bearer = token; } private: juce::String baseUrl; juce::String bearer; };