Conversation
Contributor
|
that's a lot of changes for TVP12 nice work ! There's no Scene anymore ? (I saw that you commented the scene tests) |
Contributor
Author
|
@johhnry nah just a lot of breaking changes, most unit tests need updating |
* ADD/Improve Guidelines support * Clean code and documentation * ADD new feature to parse non escaped text from tvpaint
* Also updated documentation and fixed some typos
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: links provided in notes below may not be working for now
Features and Updates:
Layer.render...functions to use the parent clips render instead ofgeorge.tv_save_imagerenderfunctions to useFileseq.FrameSetinstead of a(start, end)this allows rendering of non consecutive ranges and makes range handling more streamlined.utils.get_tvp_elementfunctions and added searchingby_regexas wellpoetrytohatchGeorge:
george.RGBAColorgeorge.tv_pick_colorgeorge.tv_save_imageas it outputs low quality imagesto_extensionin SaveFormatProject:
george/grg_guidelines.pyguideline.pywith classes :guideline.GuidelineImageguideline.GuidelineLineguideline.GuidelineSegmentguideline.GuidelineCircleguideline.GuidelineEllipseguideline.GuidelineGridguideline.GuidelineMarksguideline.GuidelineSafeAreaguideline.GuidelineFieldChartguideline.GuidelineAnimatorFieldguideline.GuidelineVanishPoint1guideline.GuidelineVanishPoint2guideline.GuidelineVanishPoint3Project.guidelinesandProject.add_guideline_...functions toProjectclassScene:
Scene.split()function toScenebased on the new functiontv_SceneSplit.tv_SceneCreate, however this functions doesn't seem to work for now, check bugs and breaking changes section.Clip:
Clip.ctg_layers()property toClip.Clip.folders()property toClip.Clip.camera_layer()property toClip.Clip.get_layers()property toClipwhich returns the clip's layers using filters (use this instead ofClip.layerswhen using TVP 12 or above) .AddedClip.camera_layer()property toClip.Clip.layers()is deprecated and only returns animation layers (this remains unchanged from before) and ignores all new Folder, Camera and CTG layers. PreferClip.get_layers()instead.Clip.action_textClip.dialog_textClip.note_textProject.header_infoProject.authorProject.notesLayers:
tv_LayerMovenow takes afolder_idargument, more on this in the bugs sections.tv_LayerCreatenow takes alayer_typeargument to create a layer folder.LayerFolderwhich uses the new layer folder functions (e.g:tv_LayerFolderDelete).Layer.folderproperty inLayer.Layer.set_folder_positionfunction inLayerthough it is pretty finicky to use (check bugs and breaking changes section).CameraLayer.CTGLayerwhich uses the new CTG layer functions :*
CTGLayer.squiggles_visible/tv_CTGSquigglesVisible.*
CTGLayer.apply_changes/tv_CTGApplyChanges.*
CTGLayer.sources/tv_CTGGetSource.*
CTGLayer.add_sourcesandCTGLayer.remove_sources/tv_CTGSource.*
CTGLayer.load_structure/tv_CTGLoadStructure.Layer.is_ctg_layerproperty inLayer.Layer.is_ctg_sourceproperty inLayer.Layer.sourced_ctg_layersproperty inLayer.Layer.panfunction inLayer.Layer.cut,Layer.copy, andLayer.pastefunctions to theLayerclass.Layer.render_instancesfunction which only renders the instances in the layer not the whole sequence.Camera
Camera.get_point_data_at()now returns a new read-onlyInterpolationCameraPointobject (inherited fromCameraPoint).Camera.get_point_data_at_frame()now returns a new read-onlyFrameCameraPointobject (inherited fromCameraPoint).CameraPointobject now has two new properties :CameraPoint.widthandCameraPoint.height.Fixes:
get_unique_name()test_tv_clip_save_structure_jsonfile formatTVPaint 12 Bugs and Breaking Changes:
TVPaint 12 introduces a lot of welcome changes (especially for the artists) and some new needed function for developers. However it also introduces a lot of breaking changes and some new bugs.
To deal with these changes as well as the new functions exclusive to TVP 12, we added a couple decorators and functions
min_version_compatibledeprecated_warningis_tvp_version_below_12Below is also a list of the current breaking changes and bugs we noticed during development
C++ Plugin :
Project :
tv_ProjectInfovalues offield_orderhave been removed so for now we provide it ourselves.tv_project_save_sequencedoes not render empty instances even if they exist in the timeline.Scene :
tv_SceneCreatedoesn't seem to work.Clip:
tv_ClipSaveStructurejson %fi does not work for folder structure (in v11 and v12)tv_ClipSaveStructurejson seems to output low quality images, this may use the same functiongeorge.tv_save_image.Layers :
tv_CTGGetSourcesis actually misspelled and is actually tv_CTGGetSource without thesat the end.tv_CTGGetSourcesactually requires and returns layer Ids not names.tv_CTGSource)tv_LayerMovecan now move layers into folders but the position is relative to the root and not the folder, this is not ideal, since we can't know if a layer is already in a folder or not, which adds a lot of uncertainty when moving layers in and out of folders.FolderIDtotv_LayerMovedoesn't move the layer to the root, you just need to move outside the folder range for it to work, which again is pretty tough to do since we can't get the child layers of a folder and therefore their positions.FolderID, just by moving the layer in the folder's range.Cameraobject instead.tv_LayerRenamedoes not work in TVP12 and will replace the name with an empty string, this is either a new bug or there is now a new argument that is needed but not documented.tv_layer_movestill sets position at (value-1) when value is superior to 0.tv_layer_moveno longer returns -1 when given a bad position.tv_layer_setno longer returns -1 when given a bad layer id.tv_LayerSelectionno longer returns -1 when given a bad layer id.tv_LayerCreateshould not be used when an empty string as it will consider the new variablelayer_typeas the name.tv_layer_killno longer returns -1 when given a bad layer id.tv_LayerBlendingModedoes not return -1 when given a bad layer id.tv_LayerStencildoes not return -1 when given a bad layer id.tv_LayerPreBehaviordoes not return -1 when given a bad layer id.tv_LayerPostBehaviordoes not return -1 when given a bad layer id.tv_LayerLockPositiondoes not return -1 when given a bad layer id.tv_preserve_setdoes not seem to work in TVP12tv_LayerMarkSetdoes not return -1 when given a bad layer id.tv_LayerColor setcolorwill fail when thenameargument is provided.tv_LayerColor setcolordoes not return -1 when given a bad color index.Camera :
Camera.fpsno longer returns/sets fps, now only fps is Project fps.tv_CameraInfobut they are not reflected inUI, and so they can be unintentionally edited or reset.
tv_CameraInfovalues of pixel aspect ratio and fps have been "swapped" (since camera fps is no longer provided).tv_CameraInterpolationdoesn't work properly in TVP12 and always returns an "empty" point.Guidelines:
tv_GuidelineModify "marks"doesn't seem to work, values are never changed, added function with a warning