Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Undo tagging operations (Read 8735 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Undo tagging operations

Hi everybody,

I'm a long-term foobar user. I like to have all my files proprely tagged. I use Masstagger a lot, plus I have shortcut keys linked to various tagging operations.

It's true that foobar warns you when you are about to execute a command that involves too many files (e.g. "You are about to update the tags of 120 files. Continue ?"). For less files that warning doesn't appear, which is perfectly logical.

And so, sometimes I end up wrongly executing a command that modifies the tags of about 50 files.
And the problem is that AFAIK foobar can't undo such operations, so I have to manually redo everything... provided I know what the previous tags were, which can sometimes be a big problem, obviously.

So, is there any way to undo such operations ? (3rd party component, etc.). Technically it shouldn't be difficult to implement, and providing greater security looks of the utmost importance to me. Don't you think so ?

Thank you. :)

Re: Undo tagging operations

Reply #1
Sane people would restore from their backups. Please tell me you have at least one?

BTW, you can copy all tags from the properties dialog to the clipboard before carrying out any tagging operation. If something goes wrong, you can go back into the properties and Paste fields. Obviously you need to make sure you don't do any other clipboard operations in between that would wipe the contents.

Re: Undo tagging operations

Reply #2
You can also recover most critical data from your library's directory structure. Obviously that requires that you do in fact use a pattern that is easy to recover with and that the tracks were already part of the library. After that you can use the critical tags as a jumpboard to restore some other special tags you might have had (either by filling in manually or by querying online databases).

But really the only real solution is to get into the habit of double-checking your work at all times. Backups are just safety nets that you should have but only rely on in the worst scenarios.

Re: Undo tagging operations

Reply #3
Well, so there IS actually a lack of this functionality in foobar ! Good to know ! :D

@marc2003  : I have more than one backup, but that's not the question.
My backups are stored in servers and/or external offline drives, which makes me lose a precious time in additional operations to restore from them, just because I didn't triple-check when I hit the wrong key.

Every good developer knows that every properly-written program must provide a way for a user to UNDO any action that could result in harm to his/her data :
- In Windows you can restore any trashed file,
- In Photoshop you can undo as many last actions as you want,
- In foobar2000 you can undo... not much stuff. Barely playlist stuff (adding a song or an album to a playlist, etc.). Not critical stuff !
We all agree that foobar2000 is an excellent program in many aspects... but let's be honests : not on this one.

So the question is not "can I recover my data from my backups just because foobar wasn't designed to undo some critical actions ?",

The questions are "WHY wasn't foobar designed to undo some critical actions ?", and "IF for some metaphysical reason foobar developers don't want foobar to be able to undo some critical stuff, THEN could some 3rd party component achieve the same goal, like a lot of 3rd party components greatly improve foobar's lacks ? (e.g. foo_jesus that should have been part of foobar core from the start).

Thank you. :)

Re: Undo tagging operations

Reply #4
"WHY wasn't foobar designed to undo some critical actions ?"
Why to use shortcuts if you cannot control what keys you are pressing?

Re: Undo tagging operations

Reply #5
It's not only about shortcuts. It's also about doing something then changing your mind. Do you have some other pointless arguments, or can we focus on the good stuff now ? ;)
BTW it's also about having two different things selected in Facets and Playlist View and forgetting which one has focus for whatever reason. Let's face it, it happens pretty often when you're using both of them.

Re: Undo tagging operations

Reply #6
... so, like I was saying, is it completely crazy to think that foobar2000 could be enhanced with a real "Undo" command, either by its developers or by a 3rd party component ?

There are lots of 3rd party components that provide pretty useless stuff (e.g. eye candy), and so far nobody's complaining. So I don't think it's unreasonable to expect that some really useful stuff could also be provided.

Now please try to remain constructive instead of criziciting a functionality that we would ALL benefit from sooner or later. Thank you.

Re: Undo tagging operations

Reply #7
... so, like I was saying, is it completely crazy to think that foobar2000 could be enhanced with a real "Undo" command, either by its developers or by a 3rd party component ?

Is it completely crazy to think that you'll be the author of this component?

Re: Undo tagging operations

Reply #8
I'd just use Mp3Tag and live happily ever after. You'd lose the hotkeys but gain Undo functionality, regular expression formatting, powerful export features, and generally a program more tailored for tagging.

Also the ability to retain original file timestamps, which I appreciate.

Re: Undo tagging operations

Reply #9
Is it completely crazy to think that you'll be the author of this component?
Is it completely crazy to think that if I was a developer like you, MAYBE, just MAYBE I wouldn't have posted here asking for help in the first place ? ;)
Is it completely crazy to think that you already knew that before you posted, and that by doing so you're just trolling instead of helping ? ;)

I don't mean to be aggressive towards anybody, but please don't blame ME for a functionality that's obviously missing from foobar2000. That may be nobody's fault, but one thing is sure : it's not MY fault. Thanks.

@Coreda : nope, I'll keep using foobar2000 for tagging. Your suggestion is like "if the program you use doesn't have a proper "Undo" function, use another program". Sure, but if I wanted to use another program I wouldn't have posted in foobar2000 forums. Thanks.

Re: Undo tagging operations

Reply #10
There are lots of 3rd party components that provide pretty useless stuff (e.g. eye candy)

Boo ****ing hoo. Before accusing others of trolling, I suggest you take a good look at yourself. This is exactly why you're getting the response you are. If you don't like what other developers are doing, do it yourself.

Re: Undo tagging operations

Reply #11
Is it completely crazy to think that if I was a developer like you, MAYBE, just MAYBE I wouldn't have posted here asking for help in the first place ? ;)
Is it completely crazy to think that you already knew that before you posted, and that by doing so you're just trolling instead of helping ? ;)
But you can become a developer. It's more reliable than waiting for someone to fix your problems.

Re: Undo tagging operations

Reply #12
@Coreda : nope, I'll keep using foobar2000 for tagging. Your suggestion is like "if the program you use doesn't have a proper "Undo" function, use another program". Sure, but if I wanted to use another program I wouldn't have posted in foobar2000 forums. Thanks.

Not entirely. I'm similarly also not usually fond of suggestions such as 'if you don't like x program use y program', typically as that 'y program' isn't as good or is too unfamiliar. However in the case of Mp3Tag it's just a much better tool for tagging, shares 90% of the same formatting functions, the developer of both programs know and have helped each other, fulfills a current need of yours, and there are enough threads I've seen on this sub-forum where using Mp3Tag would be simpler than trying to find a solution in foobar2000.

FWIW I think if fb2k doesn't have an undo function it could be a useful feature request. Just keep in mind that everyone, including the foobar2000 developer, is doing this of their own free time, effort, and motivations so it's helpful to think about how things are phrased. I don't think lvqcl was trying to be facetious, but was just making an observation.

Re: Undo tagging operations

Reply #13
Undoing tagging would require the player to keep a full revision list of all tagging operations. It would also require full use of Windows Vista and up transactional disk IO feature, since that's the only way to guarantee the OS does "safe" file updates, at least to a file which would contain the backups of the older tags. Transactional IO is also pretty slow, but we're only talking for the backup files, which could be stored alongside the originals.

Re: Undo tagging operations

Reply #14
There are lots of 3rd party components that provide pretty useless stuff (e.g. eye candy)
Boo ****ing hoo. Before accusing others of trolling, I suggest you take a good look at yourself. This is exactly why you're getting the response you are. If you don't like what other developers are doing, do it yourself.
Sorry @marc2003 , I guess I was misunderstood. I genuinely love eye candy, like a lot of people. I have eye candy in my foobar. I even have WSH scripts from you. What I really meant with my imperfect english was that eye candy in itself is "pretty but probably less useful than other stuff when it doesn't provide additional functionality". Hence my "pretty useless" that was maybe excessive, but I thought everyone would get the idea instead of reacting like you did just because of one word. I didn't mean to upset anybody. Thanks.

@kode54 : thanks for your reply. :) I understand that some caution will be necessary to guarantee file integrity/safety. My point from the start is merely that I think it would be a good thing to have that "Undo" function, even if it was made optional and turned off by default (we could turn it on via the Advanced prefs for example). Would that be better ? That is definitely up to the developers, and I'm not one.

I'm also happy that other users like @Coreda agree with me in that "it could be a useful feature request". I guess it's not such a bad idea after all, right ?
Please don't turn down a potentially good request, just because you don't like the phrasing of the guy who made it. :) Thanks.

Re: Undo tagging operations

Reply #15
Yes, this is up to Peter, though. Something as broad in scope as this must be implemented in the player core, and cannot be implemented as a mere add-in component.

Re: Undo tagging operations

Reply #16
I understand. Then how can we reach Peter so he can at least think about it ?

Re: Undo tagging operations

Reply #17
There are lots of 3rd party components that provide pretty useless stuff (e.g. eye candy)
Boo ****ing hoo. Before accusing others of trolling, I suggest you take a good look at yourself. This is exactly why you're getting the response you are. If you don't like what other developers are doing, do it yourself.
Sorry @marc2003 , I guess I was misunderstood. I genuinely love eye candy, like a lot of people. I have eye candy in my foobar.

Excuse my off topic, but what is "eye candy"?
I'm late

Re: Undo tagging operations

Reply #18
.... sooo much mud....

ok so after hosing down the thread and seeing the actual question here.... my advise: Don't Use FB2K for mass tagging...

if you want UNDO, use MP3tag... I know you said you didn't want to use an external tool, but trust me... it's much more geared to the task it's intended for than any Foobar add-on or Foobar itself.  That's why it exists in the first place as the author is himself a big Foobar fan.

and @davideleo Eye Candy is anything that adds or changes visual appearance. e.g. instead of a basic list view, one with a nice image as background and other non-essential visual beautification.  It also depends on viewpoint, many will consider the Wave Seekbar and spectrogram as eye candy, for others they have actual meaning

Examples of which may be seen in the CUI/DUI gallery  threads, or on Deviant Art / Customize in the Foobar sections.

Re: Undo tagging operations

Reply #19
and @davideleo Eye Candy is anything that adds or changes visual appearance. e.g. instead of a basic list view, one with a nice image as background and other non-essential visual beautification.  It also depends on viewpoint, many will consider the Wave Seekbar and spectrogram as eye candy, for others they have actual meaning

Gosh, I'm so stupid  :D  I thought I was missing some essential  foo_eyecandy component.
I'm late

Re: Undo tagging operations

Reply #20
@Just_Addict : I am really used to foobar for tagging. It's easy and it does everything I want to do. But let me give you a clear example :
  • I happen to buy/download songs once or twice per month, when I have the time, so they're batches of sometimes dozens of songs.
  • When I listen to them (with foobar of course), I give each song a rating (1-5) plus some other info. foobar is the best way to do that as I'm listening to them : everything is on my screen without any additional software
  • So, I have shortcuts assigned to various ratings : Ctrl-1 to Ctrl-5. Easy, right ?
  • Except that sometimes, my Facets has the focus without me noticing, which means that my Crtl-X will give X rating to whatever is selected in Facets, instead of whatever is selected in the Playlist View. If it's too many songs I will get a warning. But if it's "only" 50 songs, I won't get any warning. Do you see the problem ?

Sure, I can lower masstagger's warning treshold. I just think that a real "Undo" function would be a nice improvement to foobar, that's all.

Re: Undo tagging operations

Reply #21
Except that sometimes, my Facets has the focus without me noticing, which means that my Crtl-X will give X rating to whatever is selected in Facets, instead of whatever is selected in the Playlist View.
The solution is to revisit your hotkeys and define one that is linked to [context / now playing]. Besides paying attention to what you are doing in the first place.

If it's too many songs I will get a warning. But if it's "only" 50 songs, I won't get any warning. Do you see the problem ?
If you are using foo_quicktag, it has an option to warn if more than X tracks are about to be tagged. Other tagger components might also have this. But in my experience for those who don't pay attention in the first place a confirmation dialog won't make a difference either since they will just instinctively press OK without thinking.

Re: Undo tagging operations

Reply #22
Like I said, I am using masstagger. Yes, it has a warning threshold too (via the Advanced prefs).

All my rating hotkeys are already [context] ones, as shown by this pic :


It doesn't prevent foobar from tagging whenever Facets has focus.
It's easy to tell others to be cautious. I am extremely cautious. I just happen to use foobar A LOT. I've spend thousands of hours (yes, thousands) only for tagging purposes. I have about 50.000 tracks total. I tag and rate about a hundred new tracks per month. When you work on such a large number of tracks, technically it's impossible to prevent mistakes from happening from time to time, right ? That's where a real "undo" function would come in handy. Because some users really take foobar seriously, and I'm one of them.

Overall your points are good. I just think I've made clear that they don't make an "undo" function less useful.

 

Re: Undo tagging operations

Reply #23
It doesn't prevent foobar from tagging whenever Facets has focus.
I said [context / now playing], not just [context]. Which in turn would mean regardless of what is focused, the shortcut would apply to the currently playing track only. Which according to your description of 'tagging files when they are being played' would be perfect.

I just think I've made clear that they don't make an "undo" function less useful.
You are missing the point. Nobody claimed an undo function can't be or isn't useful. The simple problem is effort/time required vs gains. Nobody here is making a commercial product in which case you want to check all the usual checkmarks in the features page. People are deciding to spend a portion of their life on something. That something has to be worthwhile even and especially if the route towards it will be painful. This is what multiple people in the topic tried to enlighten you about. Just because it should exist does not mean it magically will, because someone has to actually make it and that someone has to have very convincing reasons to do so. And you might just be the one closest to someone like that.

The function doesn't exist because:
1) people who wanted it found it too hard (or too time consuming to learn) maybe even impossible to make it
2) those who were capable of making such a thing did not find the function worthwhile/critical enough to spend their time on it (as opposed to using it on more important stuff)
3) perhaps there was a program that already did well enough that is not foobar and they use that instead
4) there are also people who are satisfied enough with foobar's tagging capabilities as-is (or are not dissatisfied enough to make their own thing, convince someone else to do it for them or look for something else that does it already)

In the end your options are:
1) become a developer yourself (assuming the function is worthwhile enough for you to do so)
2) convince a developer to do it for you (which is sorta what you did with this topic, but 'other programs have it too' is probably not good enough)
3) use another program that has the function (MP3Tag already suggested)
4) live with it and use foobar as-is (in which case people gave you suggestions how to minimize the possibility of making a mistake, and also how to minimize the potential destruction a mistake can cause)

When you work on such a large number of tracks, technically it's impossible to prevent mistakes from happening from time to time, right ? That's where a real "undo" function would come in handy. Because some users really take foobar seriously, and I'm one of them.
I have a comparable or bigger library of tracks and I'm tagging them constantly as well for quite a while now without much of a problem, so I would disagree. Would an undo function probably be a positive addition? Yes. On this probably most of us agrees. How critical it is and how far would you go just to make it happen? This is where opinions start to diverge.

And bluntly telling people that the thing you care about is clearly THE thing everyone must care about (while dismissing other stuff others might care about) is not a very good way to convince them to do so. Something that you are most likely doing unintentionally and you already apologized about more or less. Just try to talk in less absolutes and you are probably going to get less cold responses. Your suggestion has probably been noted by everyone regardless.

Re: Undo tagging operations

Reply #24
First, don't you dare patronize me. Just listen to yourself, you arrogant fool.
I've been using foobar for more than 10 years. I know what it's about.
And if you don't make any mistakes it's because you don't use foobar half as intensively as I do. PERIOD.

Now don't come telling me that if a given function doesn't exist it's because "blah, blah blah". I know the whole story already.
Yes, maybe the "undo" function wasn't implemented because there were other priorities.
And maybe, just MAYBE now could be the right moment to do so.

foobar is a mature piece of software with pretty much all the functionality that most of us need.
It could pretty much stop evolving or evolve at a slower rate, and most of us would still be happy.
So yes, maybe it's time to focus on some of the functions that were discarded at the time and that could regain focus now.

I'm not in a hurry : I've lived for 10 years without a propre "undo" function so I can live longer without it.
But again, that doesn't make it a bad idea, and that doesn't mean it shouldn't be implemented. ;)