Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Recursive on all folders
Hi there!

I was wondering if it's possible to set recursive on all folders without having to set it on each one manually?

My folders are organised by Music/%artist%/%album%/ and I'd really like to be able to see all the tracks belonging to an artist without having to explode the folder to view them by each album.

I don't want to see every track by every artist in a single view, like when I set recursive on the Music folder. I was hoping I could set recursive on every %artist% level folder at once.

Thanks for the help!! - Ellie :)
 

Posted Wed 22 May 24 @ 9:18 pm
locoDogPRO InfinityModeratorMember since 2013
At the operating system level in your parent folders you'll find files called

order
if you open these files with a text editor you'll see subfolder names.
if you append each line with
||recurse

that will make that subfolder display as recursed.
 

Posted Wed 22 May 24 @ 9:38 pm
user28905693 wrote :

My folders are organized by Music/%artist%/%album%/ and I'd really like to be able to see all the tracks belonging to an artist without having to explode the folder to view them by each album.



Right-click Artist folder, and choose recurse. And it will show songs from all the albums by that artist.

And in VirtualDJ turn on rememberRecurse in settings, if you want to keep that, and not having to do it again each time
 

Posted Wed 22 May 24 @ 10:20 pm
locoDog wrote :
At the operating system level in your parent folders you'll find files called

order
if you open these files with a text editor you'll see subfolder names.
if you append each line with
||recurse

that will make that subfolder display as recursed.


You're an absolute gem!! I'm gonna whip up a quick python script to do that for me.

Rune, I appreciate the assistance as well but I was trying to avoid having to right-click and select recursive on each artist folder as I'm running about 10,000 tracks across 500 unique artists so it would just be a bit tedious!

Thanks again guys!! c:
 

Posted Wed 22 May 24 @ 10:38 pm
With a script it will be fast, true ;-)

But if you were going to do it manually, might as well do it by folder in VDJ and turn on remember recurse ;-)

 

Posted Wed 22 May 24 @ 10:47 pm
Rune (DJ-In-Norway) wrote :
With a script it will be fast, true ;-)

But if you were going to do it manually, might as well do it by folder in VDJ and turn on remember recurse ;-)


One challenge is that the order file might not have all your folder, or even any at all.
If you didnt set any order manually, dragging around, the order file does not have any entries


Hmm, that's interesting! I've not done any re-ordering but I did change the rememberRecurse to Yes like you said, and then I did a Batch > Analyze for BPM etc on the parent folder. The order file in my parent level Music folder contained every artist folder, adding ||recurse to each line has got me the result I was after! :D

Here is the python script, it's set up to save the file separately so that it doesn't affect the original order file. You can also run this script as you add new music as it checks to see if ||recurse is present on each line.

def recurseEveryFolder(input_file, output_file):
try:
with open(input_file, 'r', encoding='utf-8') as infile:
lines = infile.readlines()

with open(output_file, 'w', encoding='utf-8') as outfile:
for line in lines:
if '||recurse' not in line:
outfile.write(line.rstrip('\n') + '||recurse\n')
else:
outfile.write(line)
print(f"Successfully processed lines in {output_file}")

except Exception as e:
print(f"An error occurred: {e}")

recurseEveryFolder("path/to/order/file/here", "path/to/output/file/here")
 

Posted Wed 22 May 24 @ 10:54 pm
yes removed that part, the order file should ideally have all your entries
 

Posted Wed 22 May 24 @ 10:55 pm