Page 1 of 1

(lpn) Media Set Load (master) Module Issue - V3.1.7

Posted: Thu Jun 04, 2020 11:53 am
by radiofreebc
I have been using Modul8 V2.9 for years, but had to upgrade my Mac to OS Catalina today. After upgrading the OS, I discovered I also had to upgrade my Modul8 software from V2.9 to 3.1.7. So, I bought the upgrade and migrated all my old modules to the new folder.

However, I've noticed a serious issue with the (lpn) Media Set Load (master) module. In the previous version, the list of preset mediasets displayed in the module was ordered...in the order I added them to the module (which was numbered from 000-254). However, when I now run the module, the preset mediasets in the folder are not displayed sequentially anymore.

I am hoping there is an fix, as this is a module I use all the time to organize/load/clear my media. I've looked through the code, but I'm not a coder, so I was unable to figure anything out. If anyone can help me get this fixed, that would be greatly appreciated...since this module is really the centerpiece of how I organize my clips/mediasets. I'm not sure of any other modules that can organize a large number of mediasets like that.

Re: (lpn) Media Set Load (master) Module Issue - V3.1.7

Posted: Thu Jun 04, 2020 7:28 pm
by radiofreebc
Solved it. I needed to add a line of code to the script:

# Media Set Load module
# Written by VJ Danger modified by Gael Abegg-Gauthey aka Lupin - 2012

# ©© This module is licensed under a Creative Commons 3.0 Attribution - Non commercial - ShareAlike license.
# To view the license follow this link: http://creativecommons.org/licenses/by-nc-sa/3.0/
# If you wish to use this module commercially (ie. for paid public performance, etc.), please contact me to authorise usage.

# Comments, suggestions, donations:- gael@mrlupin.com

if modul8.getValue ('direct_version',0) < 2.55 :
module.stop();

import os, urllib
from xml.dom import minidom
from xml.dom.minidom import Document
file_list=[]
def refreshtree(basepath):
mediasets = []
print basepath
i=0
#file_list=[]
if os.path.isdir(basepath) :
for fn in os.listdir(basepath):
ext=fn[len(fn)-4:]
if ext==".m8s":
file_list.append(1)
file_list=fn[:-4]
i=i+1
file_list.sort(key=int)
module.setAttribute('mediasets_list','TEXTLIST',file_list)


def clearMediaset(nset):
for n in range ((int(nset-1)*16),(int(nset-1)*16+16),1):
modul8.setValue('direct_media_change',[n,'' ],0)

def clearAllMediaset():
for n in range (128):
modul8.setValue('direct_media_change',[n, ''],0)


basepath=os.getenv('HOME')+'/mediasets/'
if not os.path.exists(basepath):
os.makedirs(basepath)

module.setValue('basepath', 0, basepath)
refreshtree(basepath)

I added the "file_list.sort(key=int)" line to it, and it works perfectly.