Re: Multi-filter error: void-function nil
Igor Sosa Mayor <[email protected]> Sat, 6 Dec 2025 09:10:58 +0100
| Newsgroups | gmane.emacs.emms.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Erica, thanks for the reply. Ok, I understand it. I will write then the filter this way. Thanks again. On 12/6/25 02:31, Erica Lina Qi (Zenie) <[email protected]> wrote: > Igor Sosa Mayor <[email protected]> writes: > > > Hello Igor, > > Yes. That is how it works. > > Multi-filters are only combinations of filters made with factories. > You are just giving it the names of the filters you have already created. > > When you do that interactively, You push a filter, Select New and the > factory, > and then give it the data it needs. That is equivalent to creating the > filter > in code. But those filters are not kept. They are only in memory. To save > them would need some sort of tracking of each step taken to create it so > that > it could be represented textually. > > Factories create functions. Its not easy/possible to represent 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 > 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édron, Boêsset and >> Moulinié. If I create the filter manually (push-or, etc.) it works >> wonderfully. >> >> If I keep the filter I get the following: >> >> ("Multi-filter" >> "Artist : (moulinié) | Artist : (guédron) | Artist : (boesset) " >> (("Artist : (moulinié)" "Artist : (guédron)" "Artist : (boesset)"))) >> >> If I copy this code to my config with something like this: >> >> (setq general-filters >> '(("Multi-filter" >> "Renaissance: Air de cour" >> (("Artist : (guédron)" "Artist : (boesset)" "Artist: >> (moulinié)"))))) >> >> (emms-filters-make-filters general-filters) >> (emms-filters-add-to-filter-menu-from-filter-list "Propios" 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 composer and >> create then a multi-filter like so: >> >> (setq probando-filters >> '( >> ("Artist" "Guédron" "guédron") >> ("Artist" "Boesset" "boesset") >> ("Artist" "Moulinié" "moulinié") >> >> ("Multi-filter" >> "Air de cour" >> (("Guédron" "Boesset" "Moulinié"))))) >> >> Then it works without problems...