// (c) 2019 chm // This is a script for Directory Opus. // See https://www.gpsoft.com.au/DScripts/redirect.asp?page=scripts for development information. // Called by Directory Opus to initialize the script function OnInit(initData) { initData.name = "PlayAll"; initData.version = "1.0"; initData.copyright = "(c) 2019 chm"; // initData.url = "https://resource.dopus.com/viewforum.php?f=35"; initData.desc = ""; initData.default_enable = true; initData.min_version = "12.0"; DOpus.Output('Init') } // Called after a new folder is read in a tab function OnAfterFolderChange(afterFolderChangeData) { var groupToCheck = "Music"; var musicFiles = DOpus.Create().Vector; // ""; var tabVarName = 'musicFiles'; var tabVars = afterFolderChangeData.tab.vars //DOpus.listers.lastactive.activetab.vars; if (tabVars.Exists(tabVarName)) tabVars.Delete(tabVarName) enumFiles = new Enumerator(afterFolderChangeData.tab.files); enumFiles.moveFirst(); // enumerate the files in the tab while (enumFiles.atEnd() == false) { if (enumFiles.item().InGroup(groupToCheck)) // musicFiles += '"' + enumFiles.item() +'",' musicFiles.push_back(enumFiles.item()) DOpus.Output(enumFiles.item().name + ' music file: ' + enumFiles.item().InGroup(groupToCheck)) enumFiles.moveNext(); } DOpus.Output(musicFiles.length) if (musicFiles.length > 0){ tabVars.Set(tabVarName, musicFiles) DOpus.Output('tab.vars.musicFiles = ' + tabVars.Get(tabVarName)) DOpus.Output(DOpus.typeOf(tabVars.Get(tabVarName))) } afterFolderChangeData.tab.Update() } function OnBeforeFolderChange(beforeFolderChangeData) { var tabVarName = 'musicFiles'; var tabVars = beforeFolderChangeData.tab.vars if (tabVars.Exists(tabVarName)) tabVars.Delete(tabVarName) }