FL Studio project manager Session Atlas

Audio Plugin Hosts and other audio software applications discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Image

I was always slightly annoyed by how time-consuming it was to extract specific presets/patterns from other projects. For example, if I was working on a project and needed a specific pattern from another project, I would have to open another FL Studio instance, load the other project, export the pattern to MIDI, and then reimport the MIDI file into my current project. As some projects were quite large, this process took far too long. Yes, I know you can export project bones from specific projects, but this still requires opening the project directly beforehand.

I have previously reverse-engineered the .flp format: A few years ago, I wrote a small Python script to extract project information and calculate how much time I had spent using FL Studio in total (which would not have been possible without the well-documented PyFLP project by Demberto: https://pyflp.readthedocs.io/ (https://pyflp.readthedocs.io/)). This got me thinking, and I started working on a full FL Studio project browser. Initially written in Python with a quick and dirty Plotly dashboard, I managed to get some of the core features, such as an SQLite project database with analytics, to work quite well. However, the general performance was poor, and I disliked the JavaScript web app implementation. Some crucial features I had in mind, especially drag-and-drop functionality, were not possible, so I abandoned the project for a while.

At university, we had to learn C++, so I returned to the project a year ago with the intention of rewriting the engine from scratch to create a more efficient native implementation. This took a while; I was not prepared at all for a project of this scale. However, after many headaches, I now have a fairly stable and performant project manager, which I named Session Atlas.

Image

So, what can you do with it?
  • Open and preview selected projects in a project viewer, where you can view the playlist, channel rack, mixer, preview MIDI and samples, and show the file paths and their health. As the samples and previews are all lazy loaded, the database size remains small (in my case, around 90 MB for a directory with 1050 projects).
  • Direct export and drag-and-drop functionality: Every sample, pattern, mixer and plugin state can be exported directly to FL Studio. The .fst files are created from scratch, so if I missed any byte tags that I didn't come across during testing, this might not work all the time.
  • View and listen to global MIDI patterns and samples.
  • Get more detailed stats and analytics about your projects (e.g. duplicate projects, total time spent, most-used plug-ins, samples, and FL versions).
  • Export catalogue to CSV/JSON.
  • All projects are read locally.
Image

There are still some known limitations:

Project health does not resolve all missing file paths. From my testing, Session Atlas is more conservative than FL Studio, so FL Studio will probably open some projects that have been tagged as false positives just fine.
Project families are not perfect. Because some of my projects have many different versions, I thought it would be useful to have duplicate detection. While it does work for direct FL backups, other projects with multiple versions were not correctly identified as one version.
I have not tested every FL Studio version; some very old versions could potentially cause issues. I have tested FL Studio versions from 12.0.2 to 25.2.5.


So, what do you think? Are there any crucial features that I'm missing?

Image

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”