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:*hop
will 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 combineAND
andOR
operations.
Example:(genre:house OR genre:"uk garage") bpm>128 bpm<136 tags:boatparty
- “NOT” Operator:
Use!
to exclude specific terms.
Example:genre:dub !genre:techno
matches 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:circl
will return “circle” as well. - Please mind the spaces between fields and operators.
bpm>100
is 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