Welcome to %s forums

BrainModular Users Forum

Login Register

Usine for DJing: a module for library display

General Discussion about whatever fits..
Post Reply
piert
New member
Posts: 4
Contact:

Usine for DJing: a module for library display

Unread post by piert » 31 May 2022, 21:29

Hi all,

Newby here. I am new to (electronic) music, Usine, and fora, but would like someone to talk to (EDIT: don't know how to phrase this better, but it reads a bit like an order or something, but I just meant that I am looking forward to talk to people about it). I'd like to use Usine as a customizable DJ application and then slowly explore (live) music production from there. I really like Usine because it is modular with many features and meant for live performances. I was first thinking to do the DJing in for example Traktor, and then route the audio through Usine and manipulate it there (effects modulated by sequencers, surround mixing), but I really feel the drive to do everything in Usine, to have all information and events in one place (and be able to play multichannel tracks).

The main difficulty in using Usine for DJing, I think, is in providing decent interaction with a music library. I have now made a simple patch with Listmanager and Listbox, which allows me to scroll through a list of tracks. But I cannot view relevant track information. What I would like to have is a module with a graphic interface which has several columns for i.e. title/artist/bpm; the ability to sort for any of the columns, and the ability to scroll through this list. Either this information should be read from a files metadata (I know that at least MP3 can store a lot of metadata), or should be looked up in a kind of database file (csv, or XML). In principle this module could be fairly general and be usable with any type of files. Does anybody know if such a module is available already?

Otherwise, I was considering to try to develop it using the SDK. Any suggestions for such a project are very welcome (: (I have no experience with developing such a thing, I have only experience with mathematic programming [python, mathematica, matlab]) I looked a bit already into the SDK documentation and found the "sdkFillText" class, would this then be my main working ingredient, or can I use a more high level approach for printing large amounts of structured texts?

Looking forward to your thought on this!

sm_jamieson
Member
Posts: 551
Contact:

Unread post by sm_jamieson » 01 Jun 2022, 10:45

I think the Usine way would be to break this into different modules.

1. Multi-column sortable list module (some sort of 2D array as input ?)
Standard thing, click on header to sort in either direction. Best if it can sort on
the different columns in hierarchy, e.g. first on data, second on genre, etc.

2. A module to extract meta-data from various types of audio tile (e.g. MP3)

3. A way to externally define input data for the list (CSV, XML, etc.)

Possibly the multi-column list could be made from several lists and some patch logic,
but it seems a new multi-column list would be very useful.

Alternatively, could the sample list be enhanced to also show meta-data from the files ?

Simon.

sm_jamieson
Member
Posts: 551
Contact:

Unread post by sm_jamieson » 01 Jun 2022, 10:55

Hey another idea. A Usine "deck" module that can be used like a software record / CD deck
with Jog and Shuffle and "scratching". Could be used for beat matching etc. with 2 of them
side by side. Also speed control of course.
I don't know if the Usine sampler modules can do random back and forth access including
playing audio backwards.
But support for the DJ users would seem to fit with Usine's lighting control etc.

piert
New member
Posts: 4
Contact:

Unread post by piert » 08 Jun 2022, 15:35

Hi Simon,

Thanks! Yes, I was thinking about a similar structure. In absence of a multi column list module, I just use seperate ListBox modules. The OpenTextFile module can provide access to an .xml file which contains all relevant information about the tracks. I plan to make a module using the scripting language which than extracts this information, just a bunch of searching for strings. And a seperate module which is able to sort N ListBox instances and update all of them accordingly. The ArraySort module is not suitable for this sadly, because it does not provide the rearranged indexes (not sure of how arrays work with non-numerical values).

I am planning on making 2 patches for DJ-ing. The first is a patch for library management, as just discussed. The other is a patch for a player deck. Which will be limited in functionality to transport and speed control, with a local synchro per deck/player, the patch will take care of making sure that the track is in sync with the local synchro (using beatgrid information provided by Traktor via XML). Beat matching should then be as easy as syncing the local synchros (not as straightforward as I imagined, but definitely doable). I guess I will make a third patch for the syncing. Usine sampler player supports playing backwards, and also has markers functionality which is the same as hot cues.

Question is there a standard approach/module/sub-patch to sync two synchros to each other in a soft manner?

Everything else a standard DJ software has, is already included in Usine. If finished I will share it.

sm_jamieson
Member
Posts: 551
Contact:

Unread post by sm_jamieson » 14 Jun 2022, 12:54

In know there are smoothing modules that could probably used to make a soft sync in a patch.

Post Reply

Who is online

Users browsing this forum: No registered users and 201 guests