Re: Multi-filter error: void-function nil

"Erica Lina Qi (Zenie) <[email protected]>" <[email protected]> Sat, 06 Dec 2025 01:31:06 +0000
Newsgroups gmane.emacs.emms.user
Message-ID <[email protected]>
Igor Sosa Mayor <[email protected]> writes:


Hello Igor,

Yes. That is how it works.

Multi-filters are only combinations of filters made with=20
factories.
You are just giving it the names of the filters you have already=20
created.

When you do that interactively, You push a filter, Select New and=20
the factory,
and then give it the data it needs. That is equivalent to creating=20
the filter
in code. But those filters are not kept. They are only in memory.=20
To save
them would need some sort of tracking of each step taken to create=20
it so that
it could be represented textually.

Factories create functions. Its not easy/possible to represent=20
those
textually after they've been made.

Multi-filters just create some lists of names.
Exactly how you write them. To use them, it looks up the functions=20
connected to
the names.  Which means they need to be created somehow.

The filter stack is in fact, an interactive Multi-Filter.

Multi-filter is unique in that it is purely textual data.

Erica

> Hi again,
>
> unfortunately I have again a problem with the filter system.
>
> Let's say I want to filter works by 3 musicians: Gu=C3=A9dron,=20
> Bo=C3=AAsset and
> Moulini=C3=A9. If I create the filter manually (push-or, etc.) it=20
> works
> wonderfully.
>
> If I keep the filter I get the following:
>
> ("Multi-filter"
>  "Artist : (moulini=C3=A9)  | Artist : (gu=C3=A9dron)  | Artist :=20
>  (boesset) "
>  (("Artist : (moulini=C3=A9)" "Artist : (gu=C3=A9dron)" "Artist :=20
>  (boesset)")))
>
> If I copy this code to my config with something like this:
>
> (setq general-filters
>       '(("Multi-filter"
>          "Renaissance: Air de cour"
>          (("Artist : (gu=C3=A9dron)" "Artist : (boesset)" "Artist:
>          (moulini=C3=A9)")))))
>
> (emms-filters-make-filters general-filters)
> (emms-filters-add-to-filter-menu-from-filter-list "Propios"=20
> general-filters)
>
> I get the following error: Lisp error: (void-function nil)
> And the whole backtrace: https://paste.debian.net/1412120/
>
> Any ideas?
>
> Thanks in advance.
>
> Best,
>
> PS: If I define filters with the Artist factory for every=20
> composer and
> create then a multi-filter like so:
>
> (setq probando-filters
>       '(
>         ("Artist" "Gu=C3=A9dron"  "gu=C3=A9dron")
>         ("Artist" "Boesset" "boesset")
>         ("Artist" "Moulini=C3=A9" "moulini=C3=A9")
>
>         ("Multi-filter"
>          "Air de cour"
>          (("Gu=C3=A9dron" "Boesset" "Moulini=C3=A9")))))
>
> Then it works without problems...