# Maya Image Plane Node - Implementation Guide ## Getting Started This guide helps the development team begin work on the Maya Image Plane Node project. ## Team Assignments ### Developer 1 (FFmpeg & Maya Node) - Implement FFmpeg video decoder class - Create Maya MPxNode plugin - Implement video frame caching - Handle thread-safe frame delivery ### Developer 2 (Viewport & Post-effects) - Implement MHWRender::MPxDrawOverride - Add frame rate synchronization - Implement user-adjustable playback rate - Create post-effects (crop, resize, flip) ### QA Engineer - Create test plan - Create and execute test cases - Verify functionality and report bugs ## Development Setup ### Prerequisites - Maya 2023 installed - Visual Studio 2017 (matching Maya 2023's compiler) - CMake 3.14+ - FFmpeg development libraries (or use vcpkg) ### Build Instructions 1. Clone/download the repository 2. Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation 3. Run CMake to generate project files: ``` mkdir build cd build cmake .. -G "Visual Studio 15 2017" ``` 4. Build the solution in Visual Studio 5. The plugin will be output as MayaImagePlaneNode.mll ### Working with Specifications All detailed technical specifications are available in the `docs/` directory: - FFmpeg_Integration_Spec.md - Maya_Node_Implementation_Spec.md - Viewport_2_0_Integration_Spec.md - Frame_Rate_Synchronization_Spec.md - User_Adjustable_Playback_Rate_Spec.md - Post_Effects_Spec.md - Video_Frame_Caching_Spec.md - Module_Packaging_Spec.md ## First Steps ### Developer 1 1. Review FFmpeg_Integration_Spec.md 2. Begin implementing the FFmpeg video decoder class 3. Set up basic Maya MPxNode structure ### Developer 2 1. Review Viewport_2_0_Integration_Spec.md 2. Begin implementing MHWRender::MPxDrawOverride base class 3. Set up OpenGL texture management system ### QA Engineer 1. Review all specifications to understand test requirements 2. Create test plan document 3. Begin creating test cases for plugin loading ## Communication - Update your task status in the todo list regularly - Report any blockers or questions immediately - Share progress updates in team communications - Consult specifications before implementing features ## Notes - Follow Maya API best practices - Ensure thread safety between decoding and main thread - Handle errors gracefully with appropriate logging - Maintain clean, readable code with comments - Test frequently as you implement features Good luck with the implementation! ## Getting Started This guide helps the development team begin work on the Maya Image Plane Node project. ## Team Assignments ### Developer 1 (FFmpeg & Maya Node) - Implement FFmpeg video decoder class - Create Maya MPxNode plugin - Implement video frame caching - Handle thread-safe frame delivery ### Developer 2 (Viewport & Post-effects) - Implement MHWRender::MPxDrawOverride - Add frame rate synchronization - Implement user-adjustable playback rate - Create post-effects (crop, resize, flip) ### QA Engineer - Create test plan - Create and execute test cases - Verify functionality and report bugs ## Development Setup ### Prerequisites - Maya 2023 installed - Visual Studio 2017 (matching Maya 2023's compiler) - CMake 3.14+ - FFmpeg development libraries (or use vcpkg) ### Build Instructions 1. Clone/download the repository 2. Ensure MAYA_LOCATION environment variable is set to Maya 2023 installation 3. Run CMake to generate project files: ``` mkdir build cd build cmake .. -G "Visual Studio 15 2017" ``` 4. Build the solution in Visual Studio 5. The plugin will be output as MayaImagePlaneNode.mll ### Working with Specifications All detailed technical specifications are available in the `docs/` directory: - FFmpeg_Integration_Spec.md - Maya_Node_Implementation_Spec.md - Viewport_2_0_Integration_Spec.md - Frame_Rate_Synchronization_Spec.md - User_Adjustable_Playback_Rate_Spec.md - Post_Effects_Spec.md - Video_Frame_Caching_Spec.md - Module_Packaging_Spec.md ## First Steps ### Developer 1 1. Review FFmpeg_Integration_Spec.md 2. Begin implementing the FFmpeg video decoder class 3. Set up basic Maya MPxNode structure ### Developer 2 1. Review Viewport_2_0_Integration_Spec.md 2. Begin implementing MHWRender::MPxDrawOverride base class 3. Set up OpenGL texture management system ### QA Engineer 1. Review all specifications to understand test requirements 2. Create test plan document 3. Begin creating test cases for plugin loading ## Communication - Update your task status in the todo list regularly - Report any blockers or questions immediately - Share progress updates in team communications - Consult specifications before implementing features ## Notes - Follow Maya API best practices - Ensure thread safety between decoding and main thread - Handle errors gracefully with appropriate logging - Maintain clean, readable code with comments - Test frequently as you implement features Good luck with the implementation!