39 Commits
Author SHA1 Message Date
igrzf12 c4001f8d53 feat(server): implement edge-tts and improve timeline functionality
- Add EdgeTTSNode for text-to-speech integration
- Implement MontagenTimeRange for better time range management
- Update LGraphNode to support new properties and methods
- Enhance LGraphNodeItem with item_index and set_time functionality
- Modify MontagenMaterial to handle remote and local assets
- Refactor MontagenTime class with additional properties and methods
- Improve timeline sorting and synchronization
- Update Utils with image download and processing functions
2025-04-28 09:33:00 +08:00
igrzf12 a6de2f06d0 refactor(nodes): synchronize code with new node specifications
- Update input names and types in BaseListAdapter, ImageListAdapter, and TextListAdapter
- Remove MONTAGENDESCTYPE from TimeRangeNode
- Adjust RETURN_TYPES order in TimeRangeNode
- Remove desc_list parameter from sync_time_images_range in LGraphNode
- Update related imports and usages across affected modules
2025-04-22 18:36:25 +08:00
igrzf12 dda586b54b refactor(nodes): rename classes and update descriptions
- Rename class names and update descriptions for consistency
- Add default_name class method to BaseListAdapter and BaseMediaAdapter
- Update input types and descriptions for various nodes
- Adjust save_func and sync methods in LGraphNode
- Add update_data method to MontagenClip
- Update Utils.py with new type constants
2025-04-22 17:39:30 +08:00
igrzf12 2174716f7f feat(Montagen): implement template management and enhance node functionality
- Add template listing and file serving endpoints
- Implement template caching and user-specific template loading
- Update template cover image path handling
- Refactor template workflow loading process
- Add new action types and update node synchronization logic
- Remove unused input enable/disable functionality
- Introduce machine ID generation for unique user identification
- Update text and image list adapter nodes to support new action types
- Modify time range node to include action selection
2025-04-22 15:23:49 +08:00
igrzf12 b5c7d1720a refactor(nodes): update TimeRangeNode and related implementations
- Update TimeRangeNode to use MontagenTimeRange for time range management
- Modify BaseListAdapter, ImageListAdapter, and TextListAdapter to work with new time range structure
- Refactor LGraphNode to remove time_range property and update sync functions
- Simplify MontagenTimeRange class and add support for selected time units
2025-04-22 11:33:48 +08:00
igrzf12 2e402faa06 feat(server): add workflowId to LGraphNode serialization
- Include workflowId in the serialized output of LGraphNode
- This change enhances the information available in the node representation
2025-04-19 10:45:26 +08:00
igrzf12 5acb0bdfee feat(server): add workflowId to LGraphNode serialization
- Include workflowId in the dictionary returned by the LGraphNode serialization method
- This change allows the workflow ID to be easily accessed and used in serialized node data
2025-04-19 10:32:00 +08:00
igrzf12 ef8d47cb9b refactor(nodes): improve time range handling and image processing
- Update time range handling in BaseListAdapter and ImageListAdapter
- Refactor image processing logic in ImageListAdapter
- Fix duration calculation in LGraphNode
2025-04-18 10:55:45 +08:00
igrzf12 151dc48050 feat(time-range): implement time range functionality for Montagen
- Add TimeRangeNode to handle time range creation and modification
- Update BaseListAdapter, ImageListAdapter, and TextListAdapter to support time range
- Implement MontagenTimeRange class to manage time range data
- Modify LGraphNode and LGraphNodeItem to support time range operations
- Add new constants and utilities for time range handling
2025-04-17 21:46:01 +08:00
igrzf12 65b2aed8cc feat(server): implement node-based timeline representation
- Add meta property to LGraphNode
- Implement to_timeline_json method in LGraphNode
- Update MontagenWorkflow and MontagenTimeline to use new node-based structure
- Modify LGraphNodeItem to handle meta data
- Update API endpoint for updating node meta data
2025-04-17 15:53:32 +08:00
igrzf12 17f05719f5 feat(workflow): add thumbnail generation for nodes and workflows
- Add thumb() method to LGraphNode for generating thumbnails
- Implement get_thumb_file_path() and get_thumb_file_url() in MontagenWorkflow
- Add thumbnail extraction functions for images, GIFs, and videos
- Update BaseWorkflow to handle thumbnail generation
- Add temporary file server route for thumbnails
2025-04-17 13:58:52 +08:00
igrzf12 275f836a9a refactor(server): move default option handling to LGraphNodeItem
- Move create_default_option function from Utils.py to LGraphNodeItem class
- Update create_item method in LGraphNode to use new default property
- Adjust set_main_content method in LGraphNodeItem to handle codec settings
2025-04-17 08:36:57 +08:00
igrzf12 3ef5e93363 feat(server): add template support and improve item metadata handling
- Add template functionality for projects and workflows
- Implement item metadata synchronization and editing
- Update item handling in nodes, including filtering by used items
- Refactor timeline and workflow methods for better item management
- Adjust utility functions to support new features
2025-04-17 07:34:42 +08:00
igrzf12 34b5b8eeb3 refactor(montagen): remove unused nodes and simplify project structure
- Remove unused node classes and imports
- Rename nodes to use "MediaAdapter" and "ListAdapter" suffixes
- Update node mappings and display names
- Simplify project structure by removing unnecessary files and directories
2025-04-16 22:11:18 +08:00
igrzf12 01668fdd2f feat(node): add file output functionality
- Add file_output_index attribute to various clip adapter classes
- Implement set_file_output method in LGraphNode class
- Update BaseClipAdapter to set file output for nodes
- Modify BaseTrackAdapter to include src in protocol_return
2025-04-03 16:51:05 +08:00
igrzf12 63700e33f0 refactor(nodes): remove file clip adapters and update input types
- Remove AudioFileClipAdapter, FileClipAdapter, GifFileClipAdapter, ImageFileClipAdapter, and VideoFileClipAdapter classes
- Update INPUT_TYPES to ClIP_INPUT_TYPES in remaining adapters
- Add 'file' input option to Audio, Gif, Image, and Video adapters
- Remove unnecessary comments and unused code
2025-04-03 14:46:02 +08:00
igrzf12 084aeb18f3 feat(server): support custom clip type in timeline
- Update BaseClipAdapter to use super() for create_clip and create_max_clip methods
- Modify TimelineExcNode to return UI assets information
- Update nodes/__init__.py to comment out unused track adapter imports
- Adjust LGraphNode to use -1 as default value for start and duration
- Modify MontagenTimeline to include non-configurable clips in timeline JSON
2025-04-02 11:16:45 +08:00
igrzf12 9fbbad3e23 refactor(server): comment out 'loop' parameter in LGraphNode
- Temporarily remove 'loop' parameter from LGraphNode class
- This change might be related to upcoming updates in audio nodes
2025-04-01 19:09:06 +08:00
igrzf12 b30e987ba8 fix(server): change default values for trimming parameters
- Set default values for 'ss' and 'to' parameters to -1 in AudioFile and AudioStream nodes
- This change allows for more flexible trimming operations and prevents potential errors with default values of 0
2025-04-01 17:10:20 +08:00
igrzf12 d16f2562e7 refactor(nodes): rename and restructure timeline-related nodes and methods
- Rename MONTAGENTIMELINESTYPE to MONTAGENTIMERANGETYPE
- Rename MONTAGENCLIPSTYPE to MONTAGENTIMELINETYPE
- Update related imports and us
2025-04-01 16:52:08 +08:00
igrzf12 92b238e715 refactor(server): remove unused defaultDelete property from LGraphNode
- Remove defaultDelete property from multiple properties in LGraphNode class
- This property was likely unused or its functionality has been removed
- Cleaning up the code improves readability and reduces potential confusion
2025-04-01 15:18:24 +08:00
igrzf12 4fd0fa2312 refactor(clip): replace end time with duration in clip properties
- Update BaseClipAdapter and BaseTrackAdapter to use duration instead of end time
- Modify LGraphNode to remove end time and use duration for clip and audio properties
- This change simplifies the clip representation and avoids potential confusion with end time
2025-03-31 21:52:08 +08:00
igrzf12 25402dea8d feat(server): add type and meta fields to clip information
- Add 'type' field to clip information response
- Introduce 'meta' object to encapsulate configuration data
- Update structure of clip information to include new fields
2025-03-28 10:27:43 +08:00
igrzf12 e9c08335a8 refactor(montagen): simplify clip handling and improve data structure
- Merge clip and track concepts into a single node entity
- Refactor clip creation and processing logic
- Update node properties and methods to handle clips consistently
- Adjust API endpoints to use clip_id instead of timeline_clip_id
- Remove redundant code and simplify project structure
2025-03-28 09:18:57 +08:00
igrzf12 2d4067bf6d feat(server): add get timeline clip functionality
- Add get_timeline_clip method to LGraphNode class
- Implement get_workflow_timeline_clip method in MontagenProj class
- Update MontagenTimeline class to include timeline clip information in JSON output
- Add get_timeline_clip method to MontagenWorkflow class
- Modify workflow data processing to include timeline name for each clip
2025-03-27 17:10:21 +08:00
igrzf12 3d15c73ba9 fix(nodes): correct typos and improve data structures
- Fix typo in 'duration' variable name
- Remove redundant timeline clip update logic
- Initialize timeline children with a spine structure
- Import test module and add to node mappings
2025-03-27 09:56:06 +08:00
igrzf12 682bd7c2b2 refactor(server): optimize clip structure and implement track support
- Refactor BaseClipAdapter to BaseTrackAdapter for better structure
- Implement track support in LGraphNode and MontagenWorkflow
- Update clip creation and configuration handling
- Improve timeline and workflow synchronization
- Remove unnecessary code and optimize existing logic
2025-03-27 07:28:37 +08:00
igrzf12 91006b1c68 feat(node): add text clip node
- Implement TextClipNode class and add it to the node mappings
- Define text-specific fields and options in LGraphNode
- Update supported_config_type to include text clip configuration
- Modify build_tree and flatten_tree methods to handle text-specific properties
- Implement material deletion checks in MontagenMaterial
- Comment out unused workflow-related routes in MontagenProjManager
- Add cleanup for old workflow files in MontagenWorkflow
2025-03-24 16:53:16 +08:00
igrzf12 6e7efca996 refactor(server): optimize asset deletion and improve clip management
- Batch asset deletion: Implement delete_material_batch method in MontagenMaterial to handle multiple asset deletion requests efficiently.
- Clip existence check: Add is_in_clip method to MontagenProj and MontagenWorkflow to check if a file is used in any clip.
- Rename material: Improve rename_material method to prevent renaming assets used in clips.
- LGraphNode enhancements: Add new properties and methods to support complex clip configurations.
- AudioClipAdapter and ImageClipAdapter: Update set_clip method to handle new clip properties.
- MontagenProjManager: Update delete_project_asset route to use batch deletion.
2025-03-24 07:25:53 +08:00
igrzf12 ddc0388e2f refactor(nodes): update node functionalities and properties
- Comment out MontagenProjManager.onProcessEnd calls in BaseClipAdapter and TimelineNode
- Update TimelineNode to return UI assets instead of calling onProcessEnd
- Rename 'rotation' property to 'rotate' in LGraphNode for consistency with other nodes
2025-03-22 18:47:06 +08:00
igrzf12 fce04941cc feat(server): add timeline support and improve clip management
- Add timeline functionality to MontagenProj
- Implement syn_clip and set_clip methods in LGraphNode
- Update nodes to support new clip options and metadata
- Refactor project_save and project_change_time methods
2025-03-22 14:24:43 +08:00
igrzf12 cf4b60687f feat(nodes): implement clip adapters for audio, image and gif
- Add AudioClipAdapter, ImageClipAdapter and GifClipAdapter classes
- Refactor BaseClipAdapter to support different clip types
- Update VideoClipAdapter to inherit from ImageClipAdapter
- Modify MontagenWorkflow to handle multiple clip types
- Update LGraphNode to use properties directly instead of nested dictionary
2025-03-21 09:34:02 +08:00
igrzf12 f47a356b1e refactor(server): optimize workflow synchronization and material handling
- Update workflow synchronization logic to handle version conflicts
- Refactor material handling to support parent-child relationships
- Improve clip creation and updating process
- Optimize workflow initialization and saving
2025-03-20 18:31:16 +08:00
igrzf12 97d9909b59 feat(server): implement asset renaming and update related functionalities
- Add rename_material method in MontagenMaterial class to handle asset renaming
- Update LGraph and LGraphNode classes to support new functionalities
- Modify MontagenProj class to include new workflow handling methods
- Update MontagenProjManager class to manage new asset renaming endpoint
- Add smbprotocol to project dependencies in pyproject.toml
2025-03-19 15:45:14 +08:00
igrzf12 fdc067a3b8 refactor(server): improve Montagen workflow and clip synchronization
- Move to_base36_random() function to Utils module for reuse
- Enhance clip and workflow synchronization in MontagenProjManager
- Update LGraph and LGraphNode for better Montagen node handling
- Refactor VideoClipAdapter to use the new to_base36_random() function
2025-03-10 16:28:20 +08:00
igrzf12 59baf752cf refactor(server): refactor LGraphNode class and add random position functionality
- Remove static GraphNodeTemplate dictionary from LGraphNode class
- Create a static method createTemplage() to generate node templates
- Add random positions for node placement
- Update CreateNode method to use the new createTemplage() method
2025-03-06 18:06:54 +08:00
igrzf12 4124101fba feat(server): implement clip copying between projects
- Add exportNode and importNode methods to LGraph
- Implement copyClipToOtherProject method in MontagenProjManager
- Update related files to support the new functionality
2025-03-06 17:23:39 +08:00
igrzf12 26efb7087c refactor(server): update node creation process and related properties
- Remove projectId property from LGraphNode and replace with tag
- Update addEmptyNode method in LGraph to use tag instead of projectId
- Modify CreateNode method in LGraphNode to accept optional tag parameter
- Adjust MontagenProjManager to use new node creation process
- Update VideoClipAdapter to handle clip_id or old_clip_id in getOutputPath
2025-03-05 20:57:56 +08:00
igrzf12 ffbc2ace81 feat(server): implement workflow and clip management for Montagen projects
- Add support for creating, renaming, and deleting workflows
- Implement adding, renaming, and deleting clips within workflows
- Update project initialization to include default workflow and clip
- Refactor clip management to use new workflow structure
- Add new API endpoints for workflow and clip operations
2025-03-05 11:47:27 +08:00