Class Project

java.lang.Object
paletai.mapping.Project

public class Project extends Object
The main container class that manages multiple scenes and transitions. Handles the overall project structure, scene navigation, and rendering pipeline for the Luna Video Mapping system.

Key features include:

  • Scene management and organization
  • Screen configuration and display management
  • Media file discovery and management
  • Content generator discovery and integration
  • Project serialization to/from XML
  • Scene transitions with fade effects
  • Global project state management
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Project(processing.core.PApplet p, String name)
    Constructs a new Project instance with the specified name.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the list of discovered content generators.
    void
    keyreleased(char k, int kc)
    Handles keyboard input for project controls.
    void
    moveHoverPoint(float mousex, float mousey)
    Updates hover point position for all screens based on mouse coordinates.
    void
    render(int mousex, int mousey)
    Main rendering method that draws the entire project interface.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Project

      public Project(processing.core.PApplet p, String name)
      Constructs a new Project instance with the specified name. Initializes displays, scans for media files and generators, loads configuration, and sets up the user interface.
      Parameters:
      p - The parent PApplet instance (typically 'this' from the sketch)
      name - The name of the project. If null or empty, defaults to "untitled"
      See Also:
      • initializeDisplays()
      • scanMediaFiles()
      • scanGenerators()
      • initXMLconfig()
      • initializeButtons()
  • Method Details

    • getGenerators

      public ArrayList<LunaContentGenerator> getGenerators()
      Returns the list of discovered content generators.
      Returns:
      ArrayList of available LunaContentGenerator instances
      See Also:
    • render

      public void render(int mousex, int mousey)
      Main rendering method that draws the entire project interface. Handles both normal rendering and scene transitions, updates UI controls, and renders all screens with their associated media content.
      Parameters:
      mousex - The current x-coordinate of the mouse
      mousey - The current y-coordinate of the mouse
      See Also:
    • moveHoverPoint

      public void moveHoverPoint(float mousex, float mousey)
      Updates hover point position for all screens based on mouse coordinates. Used for interactive elements that respond to mouse movement.
      Parameters:
      mousex - The current x-coordinate of the mouse
      mousey - The current y-coordinate of the mouse
      See Also:
    • keyreleased

      public void keyreleased(char k, int kc)
      Handles keyboard input for project controls. Saves the project on any key release and triggers scene transitions when the spacebar is pressed.
      Parameters:
      k - The character of the key released
      kc - The key code of the key released
      See Also:
      • saveToFile()
      • startTransition(int)