What are Smart Crates, and how to use them?
Smart Crates in Crates allow you to automatically organize your music library using flexible, rule-based filters. With Smart Crates, you can create dynamic playlists or views that adapt as your library grows.
Here’s how to use them:
Creating a Smart Crate
- Create a Smart Crate:
Navigate to your Crates library through the left-side tree, right-click at the Crate that you want to insert a Smart Crate under, and select “New Smart Crate.”

- Define the filters:
Use the supported filters below, to define which tunes should be included.
Here’s a loaded example:
in:Collection bpm>100 bpm<105 genre:bass tags:vinyl grouping:primetime discovered>2024-10-01
This query creates a Smart Crate that will contain tunes that:- Are under the crate named “Collection”
- Have BPM between 100 and 105
- Have genre “bass”
- Are tagged with tag “vinyl”
- Have grouping “primetime”
- Were discovered after October 1, 2024
All fields in the example above are combined using AND (which can be included or omitted), meaning all criteria must be met for a tune to be included.
Operators & Syntax notes
Crates also supports advanced query syntax to create more complex filters:
- Wildcards:
Use*to match multiple characters and?to match a single character.
Example:genre:*hopwill match any genre ending with “hop” (e.g., trip hop, glitch hop, hip hop). - Quotation Marks:
Use quotation marks"for exact matches or when string values contain spaces.
Example:genre:"uk garage" - “OR” and parentheses for nesting logic:
Use parentheses()to group multiple conditions. This allows you to combineANDandORoperations.
Example:(genre:house OR genre:"uk garage") bpm>128 bpm<136 tags:boatparty - “NOT” Operator:
Use!to exclude specific terms.
Example:genre:dub !genre:technomatches all dub tunes but will exclude the ones with genre “dub techno”
Supported Fields for Smart Crate Rules
|
Field |
Description |
Type |
Example |
|
album |
Album name |
String |
|
|
artist |
Artist name |
String |
|
|
genre |
Genre of the tune |
String |
|
|
grouping |
Grouping field |
String |
|
|
tags |
Tags associated with the tune |
String |
|
|
title |
Name of the tune |
String |
|
|
rating |
User rating of the tune (1-10) |
Integer |
|
|
playcount |
Number of plays |
Integer |
|
|
bpm |
Beats per minute |
Double |
|
|
year |
Year of release |
Integer |
|
|
added |
Date tune was added |
Date |
|
|
discovered |
Date added to the collection |
Date |
|
|
lastListened |
Last played date |
Date |
|
|
in |
Filter by Crate |
Boolean |
|
Other Notes
- Additional text fields supported:
label,composer,remixer,albumartist,filename - text fields will have
*appended by default to return incomplete terms e.gtitle:circlwill return “circle” as well. - Please mind the spaces between fields and operators.
bpm>100is correct ,"bpm > 100"is not valid - To test your queries you can use them in Search as well

More examples
- To make a smart crate of tunes that have not been added to “DJ Playlists” and match genres “jazz”:
!in:"DJ Playlists" genre:jazz (genre:ambient or tags:chill or grouping:chill) bpm>60 bpm<200 rating>5 added>2020-12-01
