Hacker News new | past | comments | ask | show | jobs | submit login
Wine 2.0 RC1 Released (winehq.org)
176 points by satuim on Dec 10, 2016 | hide | past | favorite | 77 comments



Wine is a godsend for the still very lackluster linux desktop experience.

I just started listening to music locally rather than relying on streaming music again.

I used to do curate my music on Windows with MP3Tag, which lets you import data from 3rd party services, has an amazingly fast and efficient UI, and lets you quickly batch rename files based on their tags. I looked at all the Linux alternatives and none of them even come close.

I used to use foobar2000 to listen to music. Again, on Linux, nothing comes close.

Both worked out of the box at native speed on wine. Hats off to the devs.


Try Musicbrainz picard for a tagger.

As for foobar2000... I think nothing on any other platform replaces it, even on windows. You could try quodlibet which has tons of features, but it isn't as fast when dealing with hundreds of thosands of songs on a music library and only supports gstreamer as a decoder (which i think sucks). But it has a good interface, multiple ways of displaying your library, proper tag support (instead of just fully supporting a few tags for sorting and stuff).

In my setup I end up selecting audacious as the default player, which has a lot of similarities to winamp and some with foobar, but audacious sucks for music libraries. Instead, I keep quodlibet for that task.

When I open a random file from the internet or from the file browser, audacious steps in with it's great audio format support, simple and fast interface. When I want to include a song or an album into my collection, it goes trough Musicbrainz picard, then properly installed in the music library directory hierarchy and finally it's available in quodlibet.


Of all the things you could use wine for.. an mp3 player, really? I can name maybe a dozen that do all that foobar2000 does


I can name maybe a dozen that do all that foobar2000 does

Do it.

Be sure to show how the mass tagger works in each one of them. Especially the pattern matching to extract data from filenames, I really like that feature.


To me, listening to and tagging music seem to be two rather orthogonal problems. There are very good tagging applications that don't actually play the files. My current favorite definitely is beets (http://beets.io/), although it may take some minutes to set up (at least if you want the hashing feature where the audio itself is used to look up metadata). Another (rather old) Windows-Application that was very useful for tagging was "The GodFather".


Another decent tagging application is tagtool (http://sourceforge.net/projects/tagtool/), which is packaged for Debian and its offspring.


As an addendum for beets: If you're willing to experiment with a more radically different concept than most audioplayer applications provide, I would also recommend looking into MPD. There's a rather nice framework around it called Mopidy [1] which provides plugins for things like Spotify/Soundcloud support - and one such plugins provides integration with beets [2].

[1]: https://www.mopidy.com/

[2]: https://pypi.python.org/pypi/Mopidy-Beets


Quod Libet/Ex Falso have pattern matching for tags: https://quodlibet.readthedocs.io/en/latest/guide/editing_tag...


Not the GP, but DeaDBeeF is a really good and extendable (by plugins) audio player. I myself switched from foobar2000 years ago and there isn't much that I miss.

I'm not sure whether there is the pattern matching feature (or a plugin), but I think it may be achieved using the Shellexec plugin and some scripting.


DeaDBeeF is great - I'm one of the developers - but there's still a lot to do before we come to feature parity with foobar2000 and have the same quality. E.g. an often requested feature which is still missing is a media library, with a proper query language so you can do stuff like:

%genre% HAS progressive AND %added% DURING LAST 4 WEEKS


Store the metadata in SQLite and expose the SQL SELECT interface.


Yes, we already discussed that at some point but we haven't decided yet how to implement it. We don't like how most players perform which use SQLite as their database backend, but we do like how foobar2000 performs with its custom database and ~100,000 tracks with arbitrary tag fields. Maybe others who use SQLite do something wrong, maybe SQLite isn't the right tool for the job and maybe there's a third option worth considering. Once we get some time and motivation to build some prototypes we'll hopefully find that out.


SQLite is nice but using it blindly leads to suffering.

https://wiki.mozilla.org/Performance/Avoid_SQLite_In_Your_Ne...


Why use MP3 tags anyway? I don't understand, they're so burdensome to manage. I just do:

./Artist/Year - Album/Track - Title.mp3

It'll work with any music player and you can organize it even on a toaster, as long as it has coreutils. I use plain old mplayer to listen to music, just cd into the directory I want and call a script I made which is basically a glorified `find | xargs mplayer` (actually outputs the filenames to a playlist and makes mplayer read from it in slave mode so I can control it with keyboard shortcuts - from other workspaces, etc).


And by that you lose quite a lot of flexibility. How do you listen to all the classical music that was composed in the 19th century, and was added during the last month to your library? With foobar2000 (or other players) this can be done in a matter of seconds, and you can create an auto playlist based on those criteria which updates automatically when you add new songs or songs no longer match.


Well if you need that then use mp3 tags. I never had that need.


Because a database is more powerful than a bunch of strings (I treat the tags in the file as the canonical representation; foobar2000 is happy to build an index from that info.).

For instance, add listening to tracks where an artist is featured to your system and you start having to account for it each time you bust out your coreutils. Move it into a tag and you only have to account for it when it is of interest.


Can you filter by genre? I know that you could do something like ./Genre/Artist/Year - Album/Track - Title.mp3 but there is possibly other elements that are useful in mp3 tags... and what if one song could be classified in multiple genres? would you keep multiple copies?


symlinks.


Many song titles have characters which are not legal in a filename, and this varies by OS.


While I agree with the rest of the features missing (folders vs. tags, basically), can you name these characters for me?

I would expect that most operating systems can accept most characters. Right, path separators are out, there are binary characters that aren't allowed (but then again - you have a hard time printing those on your CD booklet), so I'm genuinely curious where this falls short.


The problem isn't the quantity of characters disallowed, it's that they cover some reasonably common characters in tags. From the list of restricted characters on NTFS:

  \ / : * ? " < > |
There are a lot of artists, albums, and songs that use the forward slash (AC/DC, Less Than Jake's TV/EP), colon (Bandits of the Acoustic Revolution's "Intro: This is a Call to Arms"), asterisk (some releases of Serj Tankian's "Beethoven's Cunt"), question mark (Arctic Monkeys' "What If You Were Right the First Time?", David Bowie's "Life on Mars?"), and double quotation mark (David Bowie's "Heroes", Fall Out Boy's ""Tell That Mick He Just Made My List of Things to Do Today""). As a stickler for having a well-organized music library, not being able to use those characters in my organization would be a bit grating.


Then you can't find symphonies by different composers, performed by different orchestras, but with the same conductor.

Unfortunately, this is also close to impossible in online music services, in my experience.


Sure you can , find | grep.


EasyTAG works quite well for me on Linux for just that.

Not sure if it has all the other features you need, and it's a standalone tagger, but works very well.


I use it to run 1password and it works almost perfectly.


foobar2000 still surprises me even years after using it on Windows, and years of dropping it since moving to archlinux. That thing is as small as beautiful, and small it is.

The mp3 editor which not even an editor, just a "collection" aware property dialog is unbelievably efficient.

I was about to ask for contribution (code then money) to this project now that I'm old enough to appreciate that.


well I used mp3tag a lot, too. however I changed to MusicBrainz Picard after having a mac. For converting I actually found 'Soundconverter' the linux app the best, even tough dbpower amp is really great for mac and windows (and they have more functions) but their UI is so noisy and I don't need the extra fueatures. And a Mp3Tag is actually EasyTag not as good as Mp3Tag, but together with MusicBrainz Picard I was actually faster than with Mp3Tag. For listening music I actually like/liked Clementine besides the horrible UI but for Mac I liked iTunes, as well which a lot of people don't like. Before the akward update on iTunes it also had a pretty neat way to create dynamic playlists for certain types of genres, now you can only do that globally since than I also started to use Clementine.


I've been happy with Beets for the organizing. It'll fetch data from MusicBrainz, Discogs, Beatport, etc. It'll weed out duplicate tracks, etc.

http://beets.io/


As your handle is "wineisgreat", I assume your know your shit! :D


He created the account just for that comment


Amarok? Have you tried that one?


In case you're being serious, Amarok is highly unstable, bloated ("unresponsive UI"/"high CPU"), is a great academic example of extremely bad usability, and doesn't even want to start trying to compete feature-wise with foobar.


Amarok has been horrible since they redesigned it for version 2/ kde 4. Amarok 1.4 was the best music player I've seen and, I believe, one of the inspirations for foobar2000


foobar2000 was written by a former Winamp/Nullsoft contractor and the initial version was jokingly called "notepad" to emphasize functionality over skinning.

It's safe to say it has exactly nothing whatsoever to do with Amarok.


I agree. You should check out Clementine, a port of Amarok 1.4.


foobar2000 and Amarok both did their first public releases roughly at the same time (foobar2000 end of 2002, Amarok June 2003).


These days I just use mpd for playing music and icecast to stream it to wherever I want to listen to it.


Yes, I'm serious! Amarok works for me. I use it on Linux and on Windows. I do agree with unstable (but not "highly" unstable in my case). Unresponsive UI is something I encounter seldom.


Have a look at gmusicbrowser. You might be surprised. I also used to use foobar2000 on windows... years ago...


This reminds me so much of several people I've heard complaining that Linux doesn't have nodepad++.


And the prize for the worst analogy goes to...

Linux doesn't have anything like foobar2000. Note even close. The feeble attempts to name alternatives in this thread are evidence of it. You need to compose several other tools to get the major functions and you'll still end up with half the functionality (and 10 times the bloat!).


So did you mean to say you can get 95% of the functionality with a few lightweight tools?


And can you name those lightweight tools, which work together nicely, use fewer resources and do almost everything foobar2000 does?

Here's a short list of requirements:

1. proper gapless-playback (which eliminates all GStreamer based players)

2. DSP support (during playback and when converting files)

3. ReplayGain support

4. Something like: http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_...

which works everywhere (converter, tagger, searching, UI (columns, window title, status bar, ...), album art fetching, grouping, ...)

5. an SDK to allow equally powerful plugins

6. Custom keyboard shortcuts for everything (e.g. quickly switch the current DSP profile when you plug in headphones)

7. Auto-playlists

8. Automatically detect changes in the file system and update library accordingly

9. A powerful query language: http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_...

10. CUE sheet support


You might want to take a look at Spotify, they offer a Linux version.


Wine was extremely helpful during my PhD to get a few weird win32 programs running on Debian. Pleased to see they're continuing the effort!


I've seen some crazy binary-only, extremely niche products used in academia / sciences. I could not be happier that, at least for new stuff, Linux is very much becoming a first-class citizen for work that academics do. Sadly, device manufacturers ("We sell a device for measuring methane emissions from squirrels!") aren't quite there yet...


The conformance test page[0] is always a good one to play with if you're interested in what parts of Wine are working well.

[0] http://test.winehq.org/data/


Is it possible to run Wine on Windows (without resorting to Windows 10 and WSL)?


To some extent on the SUA.[0] I'm curious to see someone write up an attempt with the WSL.[1]

[0] https://wiki.winehq.org/Cygwin_and_More#Psst..._Even_Microso...

[1] https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subs...


Would this be for running 16 bit programs on 64 bit Windows, or is there another use case I'm not thinking of?


There are quite a few older Win32 games that won't run on modern Windows systems despite the built-in compatibility modes.


If these games say they need "*.dll" to run, you can copy it from Wine into the game folder and the game will run. YMMV.


IIRC some of the higher-level DLLs can be compiled for Windows (which is done sometimes for testing, or by ReactOS to ship an actual Windows clone), but the core ones like kernel32, ntdll, user32, and gdi are too tied into the POSIX/NT abstractions.


What people use Mono for on Wine, which is mentioned in release notes?


A lot of games require .NET, so integrating mono allows a .NET runtime. Personally I've used this to run Skyrim.


did anyone have success with lightroom 6 on wine


wine + mingw cross compiler = native Windows apps development on Linux.

I still couldn't find how to do the reverse without VM....

update Just found coLinux. seems to be stagnant, though.


SSH + Windows Subsystem for Linux.

Or if you can spare around 500MB of disk space, Visual Studio 2017 + Linux Application Development Workload (selectable during the installation). Works awesome. Can work with Windows Subsystem for Linux, a Linux VM, a physical Linux machine, a Linux box on the network, Azure, AWS, Google Cloud etc.


How close does the Windows 10 Linux subsystem come to what you need to develop?


Out of curiosity, how do you test your builds?


Wine ;)


You only need mingw for building. Wine is for testing.


Why not 1.10?


> It marks the beginning of the code freeze period.

Some parts of the code are getting frozen: [0]

> This means that from now on, new features or code redesigns won't be accepted; only targeted bug fixes that don't look too dangerous will be allowed in. The freeze will get increasingly more strict...

[0] https://www.winehq.org/pipermail/wine-devel/2015-November/11...

Edit: My bad. See below.


From the wording, which I only point out as it seems like people reading your comment are being confused and maybe that means you are also confused, this is a standard code freeze for this one release: the idea being that on your way to a release, such as 2.0 (or 1.8), at some point you have to say "look, we are doing a release here, stop making major changes so we can fix some bugs and cut a version", and this "release candidate" "marks the beginning of the code freeze period" (implicitly for the release of 2.0).



Every even-numbered Wine release is a stable release preceded by a code freeze. If they followed the normal pattern, this release would be Wine 1.10.


Wine, the last time I used it, was no where near done. Is this the mark of major compatability with certian portions of the system that they've finally hammered out?


When was that, and for what? 'Cos in my experience - including using it to run commercial Windows software on a Linux box rather than use yet another standalone Windows box - it's surprisingly good and works more often than not.

(The commercial use we were putting it to: part of a compiler chain for the red button functionality on satellite TV. Remember: if you're selling crufty proprietary vertical market software for $10k/seat/year, always put "Open" in the name.)

I realise this is anecdote wars, but nevertheless it'd be interesting to know where it falls down.


WINE works very well for most software that primarily utilizes common and mature APIs, which covers a lot of really great software, especially small, specialized utilities for niches that don't get a ton of commercial attention.

It's generally the more complex and cutting-edge stuff that makes use of newer pieces of .NET, DirectX, or rarely-used components of obscure APIs that WINE struggles with.

Unfortunately, a large amount of the interesting Windows-only software incorporates some of that stuff in one way or another. That's especially the case with games, which usually require very specific hand-optimization that invokes a lot of tricks. Then, to improve performance on AAA releases, driver vendors release updates that stack hacks-on-hacks. That makes gaming pretty tricky to successfully execute at performance-parity in WINE.

I don't mean any of this critically, just addressing the issue. It's absolutely amazing what Alexandre et al have done so far. WINE is one of the most impressive software projects in the world, IMO. I was lucky enough to be able to contribute to it in a small way myself (patches to a prior generation of the audio engine). For many years I refused to play any game that didn't run well in WINE.

Just this May, after 10 years on Linux desktop full-time, I switched back to a Windows desktop to get native performance out of my photography pipeline -- VMs just weren't cutting it, and WINE was a long way off from good support. Definitely a sad thing for me on a personal level.


> It's generally the more complex and cutting-edge stuff that makes use of newer pieces of .NET, DirectX, or rarely-used components of obscure APIs that WINE struggles with.

Yeah, this is why Wine tends to use the "get the application to work" method. Thankfully a lotta the guys at Codeweavers are gamers who want their stuff to work too ;-)

.NET is a friggin' nightmare IME, even after you've installed over half a gigabyte of Microsoft downloads.


Net should get better over time with native Linux support no?


The "open" .NET is only the server components, for WinForms and WPF you're still screwed.


Only for the new versions, I assume.


It could just be about breaking backwards compatibility although from a quick glance it seems more like they are signalling major milestone.


According to the description of the WineConf keynote on this page, https://www.winehq.org/wwn/403 they're just switching to time-based releases.

The mobile version of that page was broken for me, but switching to the desktop version helped.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: