# Smart Crate (Rules action based on previous Rule)

**URL:** <https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370>\
**Category:** Ideas & Feature Requests\
**Created:** [April 22, 2022, 9:00am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370 "2022-04-22T09:00:20Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![N.D.M](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/n.d.m/32/111_2.png) [@N.D.M](https://discuss.lexicondj.com/u/N.D.M)\
**Post date:** [April 22, 2022, 9:00am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/1 "2022-04-22T09:00:20Z")

</div>

**What is the feature or ability you would like to have?**  
I’m wrapping my head around this function in Lexicon, Rekordbox, Serato and i came to a conclusion.

Existing “Smartlist functions” are way of from beeing logical (IMO)

Atm you need to add a new rule per “item” (f.e. artist)  
=\> can’t it be easier if you enter your artist names in 1 rule separate them with a “;”

 ![image](https://d2jjm7r6i2krmb.cloudfront.net/original/1X/9e779d5a00b2aae21362e105ca17eb5685bf9c32.png)

Now If this example should work i get a result same as a smartlist with 4 rules (each it’s own artist)

OK if i add another rule for “genre” it goes wrong… and creates an empty list

My idea is:  
can the rules act on the results of the previous rule?

Example:

 ![image](https://d2jjm7r6i2krmb.cloudfront.net/original/1X/2c8b377d54fe2f5dc83e2ffeacd15b02b74d2da3.png)  
Rule 1: my selection of artists  
Rule 2: in the resulting selection of artists made by Rule 1 i now chose the genre “d&b Roller” (these artists have also breaks & halfstep music… but for this list i want only rolling d&b tunes…)  
Rule 3: in the resulting selection of Rule 2 i want only the tunes that have a bpm between 174 and 176

Wouldn’t it be a handy feature to activate a box on a rule so it’s result is based on the result of the previous rule?

 ![image](https://d2jjm7r6i2krmb.cloudfront.net/original/1X/6b273f901c72557f33623ed423e77000ea512597.png)  
when you mark that selectionbox the green arrow appears as well.

to complete the functionality: also the ability to drag the made rules to another location in the list to change the following order (like you can do with playlists)

**How will this feature help you and others?**  
The user is now able to create more specific smartlists

**Is this feature available in an existing product? If so, what product?**  
Not like this.

**Does a workaround currently exist?**  
Manualy do a search of artists drag them to a list and filter & delete in that list

---

<div class="post-metadata">

**Author:** ![StuR](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/stur/32/47_2.png) [@StuR](https://discuss.lexicondj.com/u/StuR)\
**Post date:** [April 22, 2022, 9:15am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/2 "2022-04-22T09:15:00Z")

</div>

I agree with the mutliple values in one rule, but this may not be easy to implement.

For the results, have you tried with the match option set to ‘all rules’ rather than ‘any rule’ as shown in your images, this should give you what you want as all rules need to be matched

---

<div class="post-metadata">

**Author:** ![N.D.M](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/n.d.m/32/111_2.png) [@N.D.M](https://discuss.lexicondj.com/u/N.D.M)\
**Post date:** [April 22, 2022, 9:21am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/3 "2022-04-22T09:21:48Z")

</div>

> [@StuR](#):
>
> For the results, have you tried with the match option set to ‘all rules’ rather than ‘any rule’ as shown in your images, this should give you what you want as all rules need to be matched

Yep  
both still same result actually… empty list

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [April 22, 2022, 11:07am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/4 "2022-04-22T11:07:46Z")

</div>

This is the classic AND/OR problem here… I have chosen (just like all DJ apps) to go for the “easy” way where you can only set all rules to AND or all rules to OR.

What you want is basically nesting of rules where you could do something like this:  
if (x OR y) AND (q OR w)

I’ve chosen not to go that way for simplicity’s sake.

Maybe I can think of an addition to the smartlist rules that would help with this but I’m keeping it simple for now. This is a fairly advanced way of using smartlists, most users don’t do this.

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [April 23, 2023, 3:03am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/5 "2023-04-23T03:03:52Z")

</div>

Just putting in another plug/request for nesting rules. PLEASE PLEASE implement this even if it is a simplistic version of it.

Specifically for me, I have a “compatible key” folder of smartlists. The rules for the smartlists inside it are all set up for “any rule” and list out the compatible keys. As such, they show EVERYTHING in my library! Good for alot of people, but useless if I am in the middle of a set and looking for a DANCE song that will work in key.

What I want to do is add a rule that forces the smartlist to only look in my dance floor crate(s)/folder(s). This way I can ignore all of the ceremony/filler/non-wedding dance songs that just clutter up the list and make it FAR longer than it should be.

My thought is you could create a “poor man’s” nested logic where you divide the rules popup into two sections. One section is “all rules” and the second section is “any rule”. This way I could add the rules that it must follow in the top “all rules” section then add the rules that are in an OR configuration in the bottom section. There are obvious limitations to that in the standard nested logic sense, but I think this type of approach would satisfy all of the more advanced users. I very much struggle to find a case where having full nested functionality within smartlists would be needed. Keep it limited to the:  
IF AND(A, B, …, E, OR(Z, Y, Z)) use case and you would be golden!

Unfortunately, as is it this list of music in compatible keys is not very useful 🙁

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [April 23, 2023, 8:34am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/6 "2023-04-23T08:34:41Z")

</div>

I think you can get very far with setting up the right tags on your tracks. Then you can use rules like “has any of these tags” and “has all of these tags”, combined with the key you want.

And you can also use the “In Playlist → In Smartlist” rule. In the other smartlist you can set it to All Rule while in the new smartlist you can set it to Any Rule. That effectively gives you the freedom you described

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [April 29, 2023, 6:06pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/7 "2023-04-29T18:06:21Z")

</div>

I am trying to use the second option of creating an “in playlist folder” rule combined with the “in smartlist” rule and it is not working. Because of how my library is organized, this would be the easiest way to get to what I need, however, the “ok” button is greyed out and I can’t proceed.

What am I doing wrong on this?

 ![Screenshot 2023-04-29 at 1.02.09 PM](https://d2jjm7r6i2krmb.cloudfront.net/original/2X/3/3905b0184265b3366bf8b62e9e6ff670e8e6035c.jpeg)

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [April 29, 2023, 10:39pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/8 "2023-04-29T22:39:45Z")

</div>

Do both playlists exist? Maybe try re-selecting it, it should activate the green button

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [May 11, 2023, 11:20pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/9 "2023-05-11T23:20:42Z")

</div>

Sorry for the delay in responding. Was out of town and just slammed so just now getting back to some of this.

Yes, both playlists exist. Re-selecting does nothing for the exact combination I need.

This just seems to be “buggy” for lack of better words. I played around with it for a while and could not find any sets of combinations that seemed to lock it out specifically. Occasionally, re-selected did work, but rarely and it seemed pretty randomly as well.

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [May 12, 2023, 7:36am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/10 "2023-05-12T07:36:02Z")

</div>

Can you try updating to the latest Lexicon version? Might be a bug that was recently fixed

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [May 13, 2023, 1:40am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/11 "2023-05-13T01:40:38Z")

</div>

I am on 1.3.15 and updated right before doing the testing.

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [May 13, 2023, 5:24am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/12 "2023-05-13T05:24:04Z")

</div>

Can you upload your Lexicon database & logs? From the Help menu.

I’ll test it with your library and make sure it will be fixed

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [May 13, 2023, 5:37am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/13 "2023-05-13T05:37:12Z")

</div>

Just uploaded it. Thank you!

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [May 14, 2023, 6:46am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/14 "2023-05-14T06:46:34Z")

</div>

Got it, thanks. Looks like a bug in the `In playlist folder` operator. Next update will fix this, or if you want it sooner, the next beta update will fix it too (coming tomorrow or the day after)

---

<div class="post-metadata">

**Author:** ![N.D.M](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/n.d.m/32/111_2.png) [@N.D.M](https://discuss.lexicondj.com/u/N.D.M)\
**Post date:** [May 14, 2023, 1:03pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/15 "2023-05-14T13:03:52Z")

</div>

But the starting idea of this topic…

If i need multiple Artists (multiple values) could the be added by using a ’ ; ’ ?  
I would love to use the smartlist feature but atm it’s just not doin’ the job.

Rule1  
Field: ARTIST  
Operator: CONTAINS  
Value: artistname; artistname; artistname; artistname

**Following Rule _(this rule is doin’ it’s magic on the result of rule1)_**  
Field: BPM  
Operator: BETWEEN  
Value: lowest bpm  
Value: highest bpm

Don’t know if this is possible to assign the " ; " as a separator in the value string to give it more accuracy.

atm the work-around is making smartlists PER artist and merging those later on…

Not to be a nag @Christiaan .  
Just stating some ideas. As usual, must be said, you’ve already done a remarkable job with this whole app!!

---

<div class="post-metadata">

**Author:** ![DJ98](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/dj98/32/1325_2.png) [@DJ98](https://discuss.lexicondj.com/u/DJ98)\
**Post date:** [May 14, 2023, 5:40pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/16 "2023-05-14T17:40:58Z")

</div>

Can we do something like nested rules.  
Remember a few years back in Itunes you could do nested groups.

1. Title includes “CLEAN”  
1.a or Title includes “Radio version”
2. Year is 2023

If that makes sense 🙂

---

<div class="post-metadata">

**Author:** ![N.D.M](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/n.d.m/32/111_2.png) [@N.D.M](https://discuss.lexicondj.com/u/N.D.M)\
**Post date:** [May 14, 2023, 6:12pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/17 "2023-05-14T18:12:38Z")

</div>

If it kinda get developed like i suggested It could work like this:

Rule1  
Field: TITLE  
Operator: CONTAINS  
Value: clean version; radio version; (multiple value entries separated by a " ; ")

Rule2  
Field: YEAR  
Operator: CONTAINS  
Value: 2023

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [May 15, 2023, 11:16am UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/18 "2023-05-15T11:16:11Z")

</div>

Maybe custom tags is a good solution for these tracks? Then you can use the `Has all these tags` or `Has one of these tags` rules

---

<div class="post-metadata">

**Author:** ![TPDeath](https://discuss.lexicondj.com/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@TPDeath](https://discuss.lexicondj.com/u/TPDeath)\
**Post date:** [May 15, 2023, 1:29pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/19 "2023-05-15T13:29:43Z")

</div>

The issue with that, in my opinion, is that the data already exists in its present form and in individual fields without the additional step of tagging and trying to make sure to tag new tracks that come in.

Personally I do not use tags, and prefer a playlist organizational structure. There is already a folder containing all my dance floor music and there is already key information in each track. For the others, there is already BPM data as well as artist data.

I’m speaking mostly for myself but also I think for some of these people who commented here: Our request is to more efficiently use the data already present than to switch our entire workflow or add on the task of trying to remember to tag all the new tracks that come in or to go back through and have to bulk tag a library. You make it easy to bulk tag, so props to you for that in a big way, but it is still a major investment in time to get it all tagged and set up for our specific needs and to ensure tagging is correct when we bring in new music.

A slightly more robust smart list rules structure would solve this. In the pop up have one section that is for rules combine with AND. Then have a second section for all the rules that are combined with OR.

---

<div class="post-metadata">

**Author:** ![Christiaan](https://discuss.lexicondj.com/user_avatar/discuss.lexicondj.com/christiaan/32/10_2.png) [@Christiaan](https://discuss.lexicondj.com/u/Christiaan)\
**Post date:** [May 15, 2023, 3:01pm UTC](https://discuss.lexicondj.com/t/smart-crate-rules-action-based-on-previous-rule/370/20 "2023-05-15T15:01:25Z")

</div>

You can’t base an advanced library structure on text only. This is typically a situation where you use tags to get more out of it
