Skip to content

Commit

Permalink
Prepare v1.0.1 release:
Browse files Browse the repository at this point in the history
- Remove obsolete script placeholder (scripts/download_gdtf_generic.py) this is implemented in Development branch already
- Update release script (add ignore patterns, reformat with black)
- Update version, some metadata, changelog, dependencies
  • Loading branch information
vanous committed Sep 17, 2023
1 parent 94ad60d commit e8f128a
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 48 deletions.
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
### Changelog

#### NEXT
#### 1.0.1
* Improved MVR import:
* Import Focus Points and Fixture Color
* Import Scene Objects
* Import Trusses
* Handle incomplete MVR files
* Fix issues due to empty material
* Enable camera selection
* Improve logging
* Fix Live DMX logic
* Ignore packets with dmxStartCode set
* Add support for migrations of older BlenderDMX file versions
* Process deeper GeometryReference trees

#### 1.0.0
* Add support for sACN protocol
* Fix receiving higher ArtNet universes
* Add import of fixtures from MVR
Expand Down
6 changes: 3 additions & 3 deletions DEPENDENCIES.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
### Dependencies

As we must vendor some libraries in, due to how Blender dependencies work, here
As we must vendor some libraries in due to how Blender dependencies work, here
is a list of included libraries.

* python-gdtf: https://github.com/jackdpage/python-gdtf/
* python-gdtf: https://github.com/open-stage/python-gdtf
* python-mvr: https://github.com/open-stage/python-mvr
* sACN / E1.31 module: https://github.com/Hundemeier/sacn
* python-mvr: https://github.com/vanous/python-mvr
* 3DS Importer: https://projects.blender.org/blender/blender-addons-contrib.git
17 changes: 9 additions & 8 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
bl_info = {
"name": "DMX",
"description": "DMX Visualization, with GDTF and ArtNet support.",
"description": "DMX visualization and programming, with GDTF/MVR and Network support",
"author": "open-stage",
"version": (1, 0, 0),
"version": (1, 0, 1),
"blender": (3, 0, 0),
"location": "3D View > DMX",
"warning": "", # used for warning icon and text in addons panel
"wiki_url": "http://www.github.com/open-stage/blenderDMX/wiki",
"tracker_url": "",
"category": "Lighting"
"wiki_url": "https://github.com/open-stage/blender-dmx/wiki",
"doc_url": "https://github.com/open-stage/blender-dmx/wiki",
"tracker_url": "https://github.com/open-stage/blender-dmx/issues",
"category": "Lighting",
}

import sys
Expand Down Expand Up @@ -309,7 +309,7 @@ def migrations(self):

if ("DMX_DataVersion" in self.collection):
file_data_version = self.collection["DMX_DataVersion"]
print("run", file_data_version)
print("Data version", file_data_version)

if file_data_version < 2: # migration for sw. version 0.5 → 1.0
print("Running migration 1→2")
Expand Down Expand Up @@ -801,7 +801,8 @@ def onDepsgraph(scene):
obj = update.id.evaluated_get(depsgraph)
# Selection changed, sync programmer
if (obj.rna_type.name == 'Scene'):
scene.dmx.syncProgrammer()
if "dmx" in scene: # dmx may not be in scene during installation
scene.dmx.syncProgrammer()
continue
# Fixture updated
found = False
Expand Down
75 changes: 40 additions & 35 deletions scripts/build_release.py
Original file line number Diff line number Diff line change
@@ -1,57 +1,62 @@
import re
import os
import shutil
from distutils.dir_util import copy_tree
from shutil import copytree, ignore_patterns
from pygit2 import Repository

BUILD_DIR = 'build'
BUILD_DIR = "build"

branch_name = Repository('.').head.shorthand
if (branch_name == None):
raise Exception('Run the script from the project root.')
branch_name = Repository(".").head.shorthand
if branch_name == None:
raise Exception("Run the script from the project root.")

branch_name = 'master'
branch_name = "release_v1.0.1"

release_name = branch_name
if (re.match(r'^release_v\d+\.\d+\.\d+$', branch_name)):
print('Warning: This is not a release branch. The branch should be named "release_vX.Y.Z".')
if re.match(r"^release_v\d+\.\d+\.\d+$", branch_name):
print(
'Warning: This is not a release branch. The branch should be named "release_vX.Y.Z".'
)
release_name = branch_name[8:]

zip_name = 'blenderDMX_' + release_name
zip_name = "blenderDMX_" + release_name

print('---------')
print('branch name: ' + branch_name)
print('release name: ' + release_name)
print('zip name: ' + zip_name + '.zip')
print('---------')
print("---------")
print("branch name: " + branch_name)
print("release name: " + release_name)
print("zip name: " + zip_name + ".zip")
print("---------")

print('Resetting build directory...')
if (os.path.exists(BUILD_DIR)):
print("Resetting build directory...")
if os.path.exists(BUILD_DIR):
shutil.rmtree(BUILD_DIR)
os.mkdir(BUILD_DIR)
os.mkdir(BUILD_DIR+'/dmx')
os.mkdir(BUILD_DIR + "/dmx")

print('Copying dependencies to build directory...')
copy_tree('assets', BUILD_DIR+'/dmx/assets')
copy_tree('io_scene_3ds', BUILD_DIR+'/dmx/io_scene_3ds')
copy_tree('panels', BUILD_DIR+'/dmx/panels')
copy_tree('pygdtf', BUILD_DIR+'/dmx/pygdtf')
copy_tree('pymvr', BUILD_DIR+'/dmx/pymvr')
copy_tree('sacn', BUILD_DIR+'/dmx/sacn')
# List of files/directories to skip during copy
ignore = ignore_patterns("*.pyc", "__pycache__", ".mypy_cache", ".pytest_cache")

print('Copying source to build directory...')
for filename in os.listdir('.'):
if filename.endswith('.py'):
shutil.copy2(filename, BUILD_DIR+'/dmx')
print("Copying dependencies to build directory...")
copytree("assets", BUILD_DIR + "/dmx/assets", ignore=ignore)
copytree("io_scene_3ds", BUILD_DIR + "/dmx/io_scene_3ds", ignore=ignore)
copytree("panels", BUILD_DIR + "/dmx/panels", ignore=ignore)
copytree("pygdtf", BUILD_DIR + "/dmx/pygdtf", ignore=ignore)
copytree("pymvr", BUILD_DIR + "/dmx/pymvr", ignore=ignore)
copytree("sacn", BUILD_DIR + "/dmx/sacn", ignore=ignore)

print('Copying metadata to build directory...')
shutil.copy2('CHANGELOG.md', BUILD_DIR+'/dmx')
shutil.copy2('LICENSE', BUILD_DIR+'/dmx')
print("Copying source to build directory...")
for filename in os.listdir("."):
if filename.endswith(".py"):
shutil.copy2(filename, BUILD_DIR + "/dmx")

print('Zipping release...')
shutil.make_archive(zip_name, 'zip', BUILD_DIR)
print("Copying metadata to build directory...")
shutil.copy2("CHANGELOG.md", BUILD_DIR + "/dmx")
shutil.copy2("LICENSE", BUILD_DIR + "/dmx")

print('Clearing build directory...')
print("Zipping release...")
shutil.make_archive(zip_name, "zip", BUILD_DIR)

print("Clearing build directory...")
shutil.rmtree(BUILD_DIR)

print('Build successfull! Have a great release!')
print("Build successfull! Have a great release!")
1 change: 0 additions & 1 deletion scripts/download_gdtf_generic.py

This file was deleted.

0 comments on commit e8f128a

Please sign in to comment.