You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #pragma once
- #include <common.hpp>
-
-
- namespace rack {
-
-
- namespace history {
- struct State;
- } // namespace history
-
-
- namespace engine {
- struct Engine;
- } // namespace engine
-
-
- namespace window {
- struct Window;
- } // namespace window
-
-
- namespace patch {
- struct Manager;
- } // namespace patch
-
-
- namespace widget {
- struct EventState;
- } // namespace widget
-
-
- namespace app {
- struct Scene;
- } // namespace app
-
-
- namespace midiloopback {
- struct Context;
- } // namespace midiloopback
-
-
- /** Rack instance state
- */
- struct Context {
- widget::EventState* event = NULL;
- app::Scene* scene = NULL;
- engine::Engine* engine = NULL;
- window::Window* window = NULL;
- history::State* history = NULL;
- patch::Manager* patch = NULL;
- midiloopback::Context* midiLoopbackContext = NULL;
-
- ~Context();
- };
-
-
- /** Returns the global Context pointer */
- Context* contextGet();
- /** Sets the context for this thread.
- You must set the context when preparing each thread if the code uses the APP macro in that thread.
- */
- void contextSet(Context* context);
-
- /** Deprecated. Use contextGet() or the APP macro to get the current Context. */
- DEPRECATED inline Context* appGet() {
- return contextGet();
- }
-
- /** Accesses the global Context pointer. Just an alias for contextGet(). */
- #define APP rack::contextGet()
-
-
- } // namespace rack
|