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.

39 lines
836B

  1. #pragma once
  2. #include <common.hpp>
  3. #include <engine/Port.hpp>
  4. namespace rack {
  5. namespace engine {
  6. struct Module;
  7. struct PortInfo {
  8. Module* module = NULL;
  9. Port::Type type = Port::INPUT;
  10. int portId = -1;
  11. /** The name of the port, using sentence capitalization.
  12. e.g. "Sine", "Pitch input", "Mode CV".
  13. Don't use the words "input" or "output" in the name.
  14. Since this text is often prepended or appended to the name, the name will appear as e.g. "Sine input input", "Input: Sine input".
  15. */
  16. std::string name;
  17. /** An optional one-sentence description of the parameter. */
  18. std::string description;
  19. virtual ~PortInfo() {}
  20. virtual std::string getName();
  21. /** Returns name with "input" or "output" appended. */
  22. std::string getFullName();
  23. virtual std::string getDescription();
  24. };
  25. } // namespace engine
  26. } // namespace rack