From ae2c388716ff0252a44439b9a17bf86797e5086d Mon Sep 17 00:00:00 2001 From: indigo Date: Thu, 19 Mar 2026 20:46:29 +0800 Subject: [PATCH] Modify src structure --- CMakeLists.txt | 4 +- README.md | 46 +++---- .../plug-ins/Maya2023/MayaMediaPlaneNode.mll | Bin 0 -> 334336 bytes .../scripts}/AETemplateMediaPlane.mel | 0 .../AETemplateMediaPlane.mel | 112 ++++++++++++++++++ .../CMakeLists.txt | 26 ++-- .../FFmpegVideoDecoder.cpp | 0 .../FFmpegVideoDecoder.h | 0 .../FrameCache.cpp | 0 .../FrameCache.h | 0 .../MayaMediaPlaneNode.cpp | 0 .../MayaMediaPlaneNode.h | 0 .../MediaPlane.mod | 0 .../Plugin.cpp | 0 14 files changed, 156 insertions(+), 32 deletions(-) create mode 100644 install/Maya2023/plug-ins/Maya2023/MayaMediaPlaneNode.mll rename {src/MayaImagePlaneNode => install/Maya2023/scripts}/AETemplateMediaPlane.mel (100%) create mode 100644 src/MayaMediaPlaneNode/AETemplateMediaPlane.mel rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/CMakeLists.txt (82%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/FFmpegVideoDecoder.cpp (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/FFmpegVideoDecoder.h (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/FrameCache.cpp (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/FrameCache.h (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/MayaMediaPlaneNode.cpp (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/MayaMediaPlaneNode.h (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/MediaPlane.mod (100%) rename src/{MayaImagePlaneNode => MayaMediaPlaneNode}/Plugin.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 07f6339..632b0de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,5 +5,5 @@ project(MediaPlane LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# Add subdirectory for MayaImagePlaneNode plugin -add_subdirectory(src/MayaImagePlaneNode) +# Add subdirectory for MayaMediaPlaneNode plugin +add_subdirectory(src/MayaMediaPlaneNode) diff --git a/README.md b/README.md index 3f7087e..5ccaf87 100644 --- a/README.md +++ b/README.md @@ -24,29 +24,38 @@ A Maya plugin for displaying video frames in Maya Viewport 2.0. ``` MediaPlane/ +├── README.md # This file ├── CMakeLists.txt # Top-level CMake configuration ├── CMakePresets.json # CMake preset configurations +├── PLAN.md # Project plan +├── IMPLEMENTATION_GUIDE.md # Implementation guide +├── TEST_PLAN.md # Test plan +├── .gitignore # Git ignore file ├── cmake/ │ └── modules/ │ ├── FindMaya.cmake # Maya SDK finder module │ └── FindFFmpeg.cmake # FFmpeg finder module ├── src/ -│ └── MayaImagePlaneNode/ +│ └── MayaMediaPlaneNode/ │ ├── CMakeLists.txt # Plugin CMake configuration │ ├── Plugin.cpp # Maya plugin entry point │ ├── AETemplateMediaPlane.mel # Attribute Editor template -│ ├── MayaMediaPlaneNode.h # Node header file -│ ├── MayaMediaPlaneNode.cpp # Node implementation -│ ├── FFmpegVideoDecoder.h # FFmpeg decoder header -│ ├── FFmpegVideoDecoder.cpp # FFmpeg decoder implementation -│ ├── FrameCache.h # Frame cache header -│ ├── FrameCache.cpp # Frame cache implementation -│ └── MediaPlane.mod # Maya module file +│ ├── MayaMediaPlaneNode.h # Node header file +│ ├── MayaMediaPlaneNode.cpp # Node implementation +│ ├── FFmpegVideoDecoder.h # FFmpeg decoder header +│ ├── FFmpegVideoDecoder.cpp # FFmpeg decoder implementation +│ ├── FrameCache.h # Frame cache header +│ ├── FrameCache.cpp # Frame cache implementation +│ └── MediaPlane.mod # Maya module file ├── test/ -│ ├── test_plugin.py # Python test script -│ ├── test_maya_plugin.cpp # C++ test code -│ └── test_viewport.mel # MEL test script -└── docs/ # Documentation directory +│ ├── test_plugin.py # Python test script +│ ├── test_maya_plugin.cpp # C++ test code +│ ├── test_viewport.mel # MEL viewport test script +│ ├── test_video.mp4 # Test video file +│ └── TEST_REPORT.md # Test report +├── docs/ # Documentation directory +├── install/ # Installation directory +└── third_party/ # Third-party dependencies ``` ## Build Instructions @@ -111,25 +120,20 @@ createNode MediaPlane; ### Use AE Template -The plugin includes a custom Attribute Editor template. When the plugin loads, you'll see instructions in the Script Editor. To manually load the AE template: +The plugin includes a custom Attribute Editor template (AETemplateMediaPlane.mel). After installation, the MEL file is automatically placed in the Maya scripts directory and will be loaded when the plugin is loaded. + +For manual loading in Script Editor: ```mel // Source the AE template source "AETemplateMediaPlane.mel"; ``` -For automatic loading, copy the MEL file to your Maya scripts directory: +Or copy to your Maya scripts directory: ``` C:\Users\\Documents\maya\2023\scripts\ ``` -Or add this to your `userSetup.mel`: -```mel -// Add to userSetup.mel -if (!`exists AETemplateMediaPlane`) - source "AETemplateMediaPlane.mel"; -``` - ### Set Video File ```mel diff --git a/install/Maya2023/plug-ins/Maya2023/MayaMediaPlaneNode.mll b/install/Maya2023/plug-ins/Maya2023/MayaMediaPlaneNode.mll new file mode 100644 index 0000000000000000000000000000000000000000..86acb90cf1ba1187d30966cd70d33d4e6d93258b GIT binary patch literal 334336 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 0) + { + textField -edit -tx $result[0] "AETemplateMediaPlaneVideoFileTextField"; + } +} + +// Registration procedure +global proc AEregisterMediaPlaneNode() +{ + // Register the AE template for MediaPlane node + // This is called from the plugin initialization +} diff --git a/src/MayaImagePlaneNode/CMakeLists.txt b/src/MayaMediaPlaneNode/CMakeLists.txt similarity index 82% rename from src/MayaImagePlaneNode/CMakeLists.txt rename to src/MayaMediaPlaneNode/CMakeLists.txt index e4292fe..d2bb13f 100644 --- a/src/MayaImagePlaneNode/CMakeLists.txt +++ b/src/MayaMediaPlaneNode/CMakeLists.txt @@ -1,5 +1,5 @@ -# MayaImagePlaneNode Plugin CMakeLists.txt -# This is a standalone project for the Maya Image Plane Node plugin +# MayaMediaPlaneNode Plugin CMakeLists.txt +# This is a standalone project for the Maya Media Plane Node plugin cmake_minimum_required(VERSION 3.14) @@ -37,6 +37,9 @@ set(PLUGIN_SRCS set(MOD_FILES MediaPlane.mod +) + +set(MEL_SCRIPTS AETemplateMediaPlane.mel ) @@ -44,23 +47,23 @@ set(MOD_FILES # Build Plugin # ============================================ -add_library(MayaImagePlaneNode MODULE ${PLUGIN_SRCS}) +add_library(MayaMediaPlaneNode MODULE ${PLUGIN_SRCS}) -set_target_properties(MayaImagePlaneNode PROPERTIES +set_target_properties(MayaMediaPlaneNode PROPERTIES PREFIX "" # No prefix for Maya plugin SUFFIX ".mll" # Maya plugin extension on Windows - OUTPUT_NAME "MayaImagePlaneNode" + OUTPUT_NAME "MayaMediaPlaneNode" ) # Link libraries -target_link_libraries(MayaImagePlaneNode PRIVATE +target_link_libraries(MayaMediaPlaneNode PRIVATE ${MAYA_LIBRARIES} ${FFMPEG_LIBRARIES} ) # Set Windows-specific properties if(WIN32) - set_target_properties(MayaImagePlaneNode PROPERTIES + set_target_properties(MayaMediaPlaneNode PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE COMPILE_FLAGS "/MDd" ) @@ -85,7 +88,7 @@ set(PLUGIN_INSTALL_DIR "plug-ins/${MAYA_VERSION_NUM}") set(BIN_INSTALL_DIR "bin") # Install plugin -install(TARGETS MayaImagePlaneNode +install(TARGETS MayaMediaPlaneNode RUNTIME DESTINATION ${PLUGIN_INSTALL_DIR} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR} ) @@ -94,6 +97,11 @@ install(FILES ${MOD_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX} ) +# Install MEL scripts to Maya scripts directory +install(FILES ${MEL_SCRIPTS} + DESTINATION "scripts" +) + # Install FFmpeg DLLs if(EXISTS "${FFMPEG_DLL_DIR}") file(GLOB FFMPEG_DLLS "${FFMPEG_DLL_DIR}/*.dll") @@ -109,7 +117,7 @@ endif() # Print configuration summary message(STATUS "===========================================") -message(STATUS "MayaImagePlaneNode Configuration Summary") +message(STATUS "MayaMediaPlaneNode Configuration Summary") message(STATUS "===========================================") message(STATUS "Maya Version: ${MAYA_VERSION}") message(STATUS "Maya Location: ${MAYA_LOCATION}") diff --git a/src/MayaImagePlaneNode/FFmpegVideoDecoder.cpp b/src/MayaMediaPlaneNode/FFmpegVideoDecoder.cpp similarity index 100% rename from src/MayaImagePlaneNode/FFmpegVideoDecoder.cpp rename to src/MayaMediaPlaneNode/FFmpegVideoDecoder.cpp diff --git a/src/MayaImagePlaneNode/FFmpegVideoDecoder.h b/src/MayaMediaPlaneNode/FFmpegVideoDecoder.h similarity index 100% rename from src/MayaImagePlaneNode/FFmpegVideoDecoder.h rename to src/MayaMediaPlaneNode/FFmpegVideoDecoder.h diff --git a/src/MayaImagePlaneNode/FrameCache.cpp b/src/MayaMediaPlaneNode/FrameCache.cpp similarity index 100% rename from src/MayaImagePlaneNode/FrameCache.cpp rename to src/MayaMediaPlaneNode/FrameCache.cpp diff --git a/src/MayaImagePlaneNode/FrameCache.h b/src/MayaMediaPlaneNode/FrameCache.h similarity index 100% rename from src/MayaImagePlaneNode/FrameCache.h rename to src/MayaMediaPlaneNode/FrameCache.h diff --git a/src/MayaImagePlaneNode/MayaMediaPlaneNode.cpp b/src/MayaMediaPlaneNode/MayaMediaPlaneNode.cpp similarity index 100% rename from src/MayaImagePlaneNode/MayaMediaPlaneNode.cpp rename to src/MayaMediaPlaneNode/MayaMediaPlaneNode.cpp diff --git a/src/MayaImagePlaneNode/MayaMediaPlaneNode.h b/src/MayaMediaPlaneNode/MayaMediaPlaneNode.h similarity index 100% rename from src/MayaImagePlaneNode/MayaMediaPlaneNode.h rename to src/MayaMediaPlaneNode/MayaMediaPlaneNode.h diff --git a/src/MayaImagePlaneNode/MediaPlane.mod b/src/MayaMediaPlaneNode/MediaPlane.mod similarity index 100% rename from src/MayaImagePlaneNode/MediaPlane.mod rename to src/MayaMediaPlaneNode/MediaPlane.mod diff --git a/src/MayaImagePlaneNode/Plugin.cpp b/src/MayaMediaPlaneNode/Plugin.cpp similarity index 100% rename from src/MayaImagePlaneNode/Plugin.cpp rename to src/MayaMediaPlaneNode/Plugin.cpp