Sound Juicer is a clean, mean, and lean CD ripper for GNOME 2.
It sports a clean interface and simple preferences, aiming to do The Right Thing and What You Mean all of the time. It requires GNOME and GStreamer.
Latest download: sound-juicer-2.28.1.tar.bz2.
Love Sound Juicer? Want to help the developer save for the deposit on a house? You can help!
Sound Juicer "Look In The Stars And Search For The Answer" 2.13.3
- Port to GStreamer 0.10
Thanks to Tim-Philipp Mueller and James Livingston for helping me here. This needs lots of testing, there are bound to be many regressions that need hunting and fixing. Everyone grab it now!
Sound Juicer "Down The Middle Drops One More Grain Of Sand" 2.12.0
- Bind F1 to Help
- [update] Kick-arse updated documentation (thanks Shaun!)
But plenty of changes for people who haven't used 2.11 including CD playback, threaded extraction, uses gnome-vfs to write the songs, and genre support.
Thanks to the ever-working translators: Danilo Šegan (sr), Mohammad Damt (id), Clytie Siddall (vi), Jean-Michel Ardantz (fr), Michiel Sikkes (nl), Roozbeh Pournader (fa).
Sound Juicer "Cover Me!" 0.5.15
- Handle errors when transforming filename encoding fails (Frederic Crozat)
- Handle MusicBrainz saying it has found a matching album when it hasn't (FC)
- Fix the "time remaining" calculations (hondaguru)
- Updated libbacon, fixing various issues
- Fix crashes due to the idle handler not being removed (Colin Walters)
- Stop using the deprecated _() in libgnome (Mariano Suárez-Alvarez)
NP: Two Pages, 4 Hero
Sound Juicer "I Got Nobody On My Side And Surely That Ain't Right" 2.28.1
Sound Juicer "I Got Nobody On My Side And Surely That Ain't Right" 2.28.1 has been released. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Props to Bastien for doing most of the work here.
- Many translations
- Use gnome-session instead of gnome-power-manager to avoid the machine going to sleep (Richard Hughes)
- Fix a few crashers when extracting an unknown CD (Bastien Nocera)
- Fix CD-Text metadata gathering (BN)
- Don't truncate submission URLs (BN)
- Extract UUIDs to put in ripped files' metadata (Philipp Wolfer)
- Fix some bugs in test program (Alex Larsson)
Bastien originally called this release Not the maintainer, lalala, plug ears but we all know he is, right?
Sound Juicer "And It Ain't Even 9 In The Morning, Sorry I'm Late" 2.28.0
- Many translations
- Updated documentation
- Disable paranoia on playback (Bastien Nocera)
- Fix leaks and crashes in the metadata fetches (BN)
Did I mention that SJ could really do with a dedicated (co)maintainer?
Sound Juicer "Bonnie and Clyde" 2.26.1
- Read the track artist instead of album artist in Musicbrain3
- Don't crash if the release date is unknown
- Read tracks when falling back to gvfs
Finally, a call for someone with deep LAME knowledge. The GStreamer LAME element is, well, lame because it sets a number of properties to default values that make it very difficult for LAME to work well. Someone who understands how all of the LAME settings operate needs to sit down, vet the settings and remove the pointless ones, unset most of the rest, leaving the 'preset' setting as the only one which has a default value. At the moment there are many contradictory default settings which mean LAME produces rather badly encoded files. Any takers?
Sound Juicer "Don't Go Back To Dalston" 2.26.0
Sound Juicer "I Call Out To You And You Don't Save Me?" 2.25.3
- Put the disc number in the file name
- Support multiple genres
- Use libcanberra for event sounds
- Handle custom patterns in the prefs dialog
- Remove Musicbrainz data if the track data is changed
- Fix disc number editing logic
- And lots of bug fixes by many people
Sound Juicer "I Should Be Crying, But I Just Can't Let It Show" 2.25.2
- Port to Brasero (Luis Medinas)
- Fix Solaris builds (Brian Cameron)
- Drop libgnome (Iain Holmes, Emilio Pozuelo Monfort)
- Fix conflicting mnemonics in the message area (Bastien Nocera)
- Fix mb3 backend (Bastien Nocera)
Sound Juicer "Old Man Take A Look At My Life" 2.25.1
Sound Juicer "Old Man Take A Look At My Life" 2.25.1 has been released. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Everyone's favourite Frockney did a huge amount of work on this, and I'm still talking to him after he admitted that the master plan is to replace Sound Juicer with Rhythmbox in Fedora!
- Chain the metadata lookups (Bastien Nocera)
- Finish the libmusicbrainz3 metadata fetcher (BN)
- Add a GVFS metadata fetcher as fallback (BN)
- Make libcdio option, as it breaks the GPL+Exception license (BN)
- Export ASIN, Discogs, Wikipedia in the internal metadata (BN)
- Lots of other cleanups to the metadata code (BN)
- Remove copy of the id3mux plugin, assume it exists now (BN)
- Remove Encoding field from desktop file (Pacho Ramos)
- Add Audio to desktop categories (Patryk Zawadzki)
- Correctly parse CDDA URLs (Matthew Martin)
- Don't free the option context
Sound Juicer "Why Should You Know Better By Now" 2.24.0
Sound Juicer "Stab Stab Stab! This Is More Than A Message" 2.23.3
- Don't crash when exiting
- Don't distribute full GFDL with docs
- Correctly parse CDDA URLs (#550131, thanks Matthew Martin)
Sound Juicer "I Don't Know What You Heard But It's Mandatory" 2.23.2
Sound Juicer "I Don't Know What You Heard But It's Mandatory" 2.23.2 has been released. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Lots of fixes from the Amazing Matthew Martin:
- Stop playback when the disc is re-read (Matthew Martin)
- Only eject the disc if tracks were ripped (MM)
- Don't try and move the non-existant temp file when skipping (MM)
- Free the option context (Pierre Benz)
- Don't block until n-c-b quits when copying discs
- Fix playback track switching (MM)
Sound Juicer "We're Singing In Tune But Now It's Over" 2.23.1
- Fix play+pause+play (#523182, thanks Matthew Martin)
- Add %ay, album year (#522909, Juan F. Giménez Silva)
Sound Juicer "Harder Now With Higher Speed" 2.23.0
- Port to GIO (Michael Terry)
- Update URL handling for New GIO World Order (Bastien Nocera)
- Fix display problems with the cluebar (Pekka Vuorela)
- Add audio preview when overwriting (Luca Cavalli)
- Use GtkVolmeButton instead of BaconVolume (MT)
- Fix crash when no profile is selected (Matthew Martin)
- Add <> to the special character list (MM)
- Make the year and disc entries a11y (Patrick Wade)
- Fix error handling in CD playback (Tim-Philipp Müller)
- Require intltool 0.40
I really need some heavy testing on the GIO rewrite, so please try and extract tracks to as many different targets as possible. Although I expect confirmation that using an unmounted remote location currently fails, it should be possible to use this to write to Samba, OBEX-FTP, and so on.
Sound Juicer "Died To Make This Sound" 2.22.0
- Fix various crashes in the preferences dialogs (thanks Matthew Martin)
- Translate the genres (thanks Brian Geppert)
- Add a paused track state (thanks Brian Geppert)
- Use the system icons for play/record (thanks Micharl Monreal)
- Many many translations!
Thanks to everyone who helped with Sound Juicer 2.22, there has been a huge influx of new contributors thanks to the GHOP and gnome-love projects.
Sound Juicer "Drop The Empty Pursuit Of Props" 2.21.92
- Don't loop if the selected music directory doesn't exist (Matthew Martin)
- When editing the album artist, unset the sortable artist name
- Remove deprecated calls in BaconVolume (Michael Terry)
Can I Get A Replicator?
There is a Sound Juicer bug which has been reported in 2.20 and 2.21, where changing the album artist name doesn't change the name that is used when creating directories (link to bug). Thinking about the code this is very strange, and I can't replicate it myself, so I have to ask the Planets. Has anyone else seen this, or can they replicate this?
NP: Workmen digging up my road the bastards, Thames Water (photo)
Sound Juicer "Spent All Night Just Watching You" 2.21.91
- Write extracted audio to a temporary file and then rename (Matthew Martin)
- Disable the Eject button if the drive cannot eject (David Meikle)
Sound Juicer "It's Deeper Than The Darkest Sea" 2.21.3
- Add a Disc Number field, and magically populate it (Matthew Martin)
- Add content/* media types for Nautilus (Matthias Clasen)
- Set a11y relationships on the cluebar (thanks Rich and Willie)
- Fix play/pause (Bill O'Shea)
- Handle the cdio element not being cdparanoia
Sound Juicer "Now There's Emptiness In My Bed" 2.21.2
Sound Juicer "Now There's Emptiness In My Bed" 2.21.2 is available now. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Again, the response from the gnome-love and GHOP tasks has been great, and there is a lot new in this release.
- Update documentation (Andreas Freund)
- Check extracted filenames are not too long (Ed Catmur)
- Add a Year entry to the main window (Andrzej Polatyński)
- Add a Duplicate Disc menu item (Dave Meikle)
- Show better error messages if the target directory can't be created (MatzeB)
- Remove branding from the desktop file
- Fix initial playback (Bill O'Shea)
- Hide the progress bar unless ripping (Ghee Teo)
- Move the cursor to always been on the currently playing/ripping track (Dave Meikle)
- When editing album artist, only change track artists if it was the same (Bill O'Shea)
Sound Juicer Loving
Over Christmas a load of gnome-love bugs in Sound Juicer were closed thanks to some wonderful people, so to keep people's interest (and try and gain some serious co-maintainers) I've gone through the bug list and marked more gnome-love bugs. There are thirteen bugs marked now, all of which should be no more than a few hours work each, making them perfect fodder for anyone who wants to get more experience with GNOME programming.
NP: Bag Lady (Dune DnB Remix), Erykah Badu
Sound Juicer "Esoteric Quotes, Most Frightening" 2.21.1
Sound Juicer "Esoteric Quotes, Most Frightening" 2.21.1 is available now. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Special thanks to the wonderful people who worked on a few bugs I tagged as gnome-love, and Carl-Anton for working on the SJ GHOP task!
- Save custom genres (#382667, thanks Jonh Wendell)
- Make the progress bar smaller (#460650, thanks Stefan Oderbolz)
- Detect VFAT and NTFS filesystems and strip characters they can't handle (#321436, thanks Carl-Anton Ingmarsson and GHOP)
- Inhibit power management suspension when ripping (#344947, thanks Carl-Anton and GHOP)
- Don't crash when finished extracting (#498500)
- Remove the Rip Completed dialog (#504639)
- Set pipeline state to NULL when disposing (#495410)
- Escape the album and artist in the cluebar (#504862, thanks Luca Cavalli)
Sound Juicer "Sound Sculptures In Space" 2.21.0
- Add a cluebar when the CD isn't in Musicbrainz (thanks Luca Cavalli, #452047)
- Fix the multiple album select dialog (thanks Rob Bradford, #500815)
- Install 48x48 PNG icon (thanks Andreas Nilsson, #502933)
- Change Deselect All shortcut to Control-Shift-A (thanks Ted Gould, #501442)
- Add Overwrite All/Skip All buttons to the overwrite dialog (thanks Michael Chudobiak, #130782)
Sound Juicer "Tiredness Fuels Empty Thoughts" 2.20.1
Sound Juicer "Tiredness Fuels Empty Thoughts" 2.20.1 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Hopefully this fixes the common crashes that people are seeing, if it does then I'll backport the fixed to 2.16 so that more distributions can release updated packages.
- Unset temporary iterators after ripping, hopefully fixing a very common crash (#403870).
- Only lock the drive when extracting, and ensure its unlocked when finished. This should fix another common crash (#484535).
- Fix logic bug when creating directories (#481025, thanks William Lachance).
- Reference the initial profile to stop crashing when profiles are edited (#440400, Stefan Röllin)
NP: Aerial, Kate Bush
Sound Juicer "The Best Blue Is Through The Trees" 2.20.0
- Remove a work around now that GStreamer is fixed, and update requirement (#472650, Jaap Haitsma)
Also thanks to the tireless translation team: Djihed Afifi (ar), Ihar Hrachyshka (be), Alexander Shopov (bg), Runa Bhattacharjee (bn_IN), Jordi Mallach (ca), Ask Hjorth Larsen (da), Hendrik Richter (de), Tshewang Norbu (dz), Kostas Papadimas (el), David Lodge (en_GB), Jorge González (es), Ivar Smolin (et), Iñaki Larrañaga Murgoitio (eu), Ilkka Tuohela (fi), Christophe Benz (fr), Ignacio Casal Quinteiro (gl), Ankit Patel (gu), Eyal Mamo (he), Gabor Kelemen (hu), Francesco Marletta (it), Takeshi AIHANA (ja), Young-Ho Cha (ko), Erdal Ronahi (ku), Žygimantas Beručka (lt), Raivis Dejus (lv), Arangel Angov (mk), Kjartan Maraas (nb), Wouter Bolsterlee (nl), Tomasz Dominikowski (pl), Og Maciel (pt_BR), Duarte Loreto (pt), Mugurel Tudor (ro), Nickolay V. Shmyrev (ru), Danishka Navin (si), Matic Žgur (sl), Elian Myftiu (sq), Милош Поповић (sr), Daniel Nylander (sv), Dr.T.Vasudevan (ta), Theppitak Karoonboonyanan (th), Baris Cicek (tr), Maxim Dziumanenko (uk), Clytie Siddall (vi), Funda Wang (zh_CN), Chao-Hsiung Liao (zh_HK, zh_TW).
Sound Juicer "G D M F S O B" 2.19.3
- When removing sources be more paranoid. I hope this fixes the many-duplicated crasher
- Translate the program description (#450161, Gabor Kelemen)
- Bump libmusicbrainz requirement
Sound Juicer Love Hour
Does anyone fancy hacking for an hour on a neat little feature for Sound Juicer, as a way of learning the code base a little? This shouldn't take more than an hour or so, and would be good for the world.
When Musicbrainz can't find the track listing for a CD, it automatically queries FreeDB and will attempt to return something from the garbled nonsense that FreeDB generally contains. The user cannot tell the difference, unless they notice that the track listings are badly formatted, the album artist is incorrect, or the encoding is wrong. The user will not notice any trivial issues, fix any obvious problems and then rip the CD, or just give up now if the encoding is wrong.
This is bad.
What should happen is that Sound Juicer should subtly point out to the user if the data is proxied from FreeDB, so that they can import it into MusicBrainz where more data can be added and verified. What I'd like to see is a little pane appear if a CD is from FreeDB (SJ knows this already) with a link to the relevant import URL, so the user can quickly import it once for the benefit of everyone else who rips the album in the future.
Does anyone fancy hacking this? As I said, it sounds like an hour of coding for someone who can code GTK+ but hasn't touched SJ before.
NP: This Book Is About Words, Ahmad Szabo
Sound Juicer "Little Bit Of Your Song In My Ear" 2.19.2
- Correctly read the album artist (#393707)
- Don't set empty track titles (#435964)
- Fix a11y on the play/pause button (#364371, Patrick Wade)
Sound Juicer Refactor: Testers Wanted
I've been slowly refactoring bits of Sound Juicer to make it more manageable and in the end usable with plugins, and I'm ready to commit a chunk of refactoring back into Subversion. However before I do so I'd appreciate it if some others would test the changes. The changes are in this Bazaar repository, branch, build and use it like you would any other Sound Juicer release.
I've refactored the track store and view into separate objects, which meant that the spagehtti code that held the UI together had to be rewritten. I think I tested all of the cases, but if someone could give it a go, and check that the buttons are correctly enabled and disabled as you select tracks, that the sorting is correct and so on, I'd be very happy. Thanks!
NP: Live EP, Bonobo
Sound Juicer "From a Council Flat Paying Higher Rate Tax" 2.19.1
Sound Juicer "From a Council Flat Paying Higher Rate Tax" 2.19.1 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Brown paper bag release to fix not one but two bugs causing SJ to not start.
- Fix type names, which caused an assertion on startup
- Fix profile checking, which caused SJ to fail to parse any profiles
- Fix error handling when using errno (#438122)
Sound Juicer "Nikki's Growing A Patch Out In The Backyard" 2.19.0
Sound Juicer "Nikki's Growing A Patch Out In The Backyard" 2.19.0 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. This is the first release in the 2.19.x development series, after I failed to do anything useful in 2.17.x...
- Attempt to repair brain-dead FreeDB encoding (Ka-Hing Cheung)
- Fix memory leaks in musicbrainz object (Cristian Persch)
- Follow the preferred sound device (Bastien Nocera)
- Use xdg-user-dirs (BN)
- Use gst_element_make_from_uri instead of hardcoding cdparanoia (James Livingstone)
- Display a better message after extracting (Adam Petaccia)
- Fix detection of FreeDB albums (David Mandelberg)
- Accessibility fixes (Rich Burridge, Patrick Wade)
- Don't crash if libnautilus-burn doens't know of a device (Pascal Terjan)
- Initialise threading earlier
- Convert strerror() output to UTF-8 for display (PT)
- Remove "Application" category from desktop file
- Fix srcdir!=builddir builds (Loic Minier)
- Internal refactor of extractor and metadata objects
Sound Juicer "Let's Kill First The Banker" 2.16.3
- Fix install target (Christian Persch)
- Set urgency hint on completed dialog (Sebastien Bacher)
- Add man page
- Ensure playback is stopped when media is removed (Luca Cavalli)
- Source cleanups (Adam Petaccia)
Sound Juicer "Wish I Could Stop You From Talking" 2.16.2
- "None" directory path shouldn't create blank directory name (#374831, Adam Petaccia)
- Don't disable re-read when playing (#347218, Stephen Cook)
- Update bacon volume (#369490)
- Set a11y relationships (Robin Sonefore, #364386)
- Fix prefs dialog spacing (#332561, Christian Persch)
- Fix dates with 0s in (#364976, Alex Lancaster).
- Replace spaces with underscores in path_patterns and file_patterns when "Strip special characters" is selected (#357111, Luca Cavalli).
- Port to automake 1.9, update desktop file for new Bug Buddy (#357682, Christian Persch)
- Reset the extract speed on every track just in case (#343544).
- Initialise the authentication manager (#356578)
- Show error messages when the pipeline doesn't link (Tim-Philipp Muller, #361151)
- Add 32x32 icon
Sound Juicer Bazaar Mirror
If anyone out there fancies hacking on Sound Juicer (hint hint) to tackle the large number of feature requests in Bugzilla (hint hint), then its just become easier if you don't have a GNOME CVS committer account: Launchpad now mirrors the Sound Juicer module into a Bazaar (bzr-ng) repository. To grab it, simply do:
bzr branch http://bazaar.launchpad.net/~vcs-imports/sound-juicer/main my-sj
When that finishes, you'll have a branch of the SJ module called my-sj, which you can edit, commit, and otherwise hack on as you want, and you can either easily generate diffs for submitting into Bugzilla, or publish the branch online.
Sound Juicer "Now Every Fool In Town" 2.16.1
- Fix profiles where the output frequency isn't 44.1Khz (thanks Tim-Philip Müller)
- Listen to the strip special characters preference and update the label (thanks Peter)
NP: Mad Season, Matchbox 20
Sound Juicer "Hollywood Sending Signals Of Destruction" 2.16.0
There are not a lot of interesting features in this compared to 2.14, sorry!
- Release date information added to metadata
- Authenticated proxies work
- Playback volume and window position and size saved
Sound Juicer "Don't Blow Those Brains Yet" 126.96.36.199
Sound Juicer "Don't Blow Those Brains Yet" 188.8.131.52 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Hmm, I've done very little here, and there are 91 open bugs in Bugzilla. This sucks.
- Update the icon cache on install (#348972)
- Fix intltool requirements (Kjartan Maraas)
Update: 184.108.40.206 is released, with a tarball that will configure.
Sound Juicer "I Need A Little Love To Ease The Pain" 2.14.5
- Add date information to all possible albums (Alex Lancaster)
- Improve GStreamer error handling (Tim-Philipp Muller)
- Don't crash when re-opening the Preferences dialog
- Clear the genre field when re-reading the disk