| 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...