[OSX-Users] Re: downgrading sound quality?

Hugh Glaser hg at ecs.soton.ac.uk
Fri Sep 18 14:39:41 BST 2009


You do know you can right click on tracks and "convert to xxx", where xxx is
the import format currently defined?
And it doesn't remove the old one.
So you could set the import in preferences -> general -> "import settings"
to MP3 with quality to whatever you want and then do the conversions.
You would still have to decide how to organise the files, but there are
various ways of doing that.


On 18/09/2009 13:08, "Daniel Thorpe" <dt05r at ecs.soton.ac.uk> wrote:

>> The short answer is: there isn't.
> Well, there's nothing that *can't* be done. It just might not be
> pretty, or quick.
> 
> I've modified this script:
> http://dougscripts.com/itunes/scripts/ss.php?sp=riptoipod
>   so that it works with the tracks you've selected, although it seems
> only for tracks you have stored locally. I haven't really got time to
> look into why it doesn't work for music on a network volume, but maybe
> someone else does.
> 
> If you copy this as is into Script Editor, select some tracks in
> iTunes, have an iPod (I haven't tested it with an iPhone), and run the
> script, then it will transcode the files from whatever they are to
> whatever encoding setting you select, import them onto the iPod and
> then remove the newly created files. It's just a bit slow as it does
> each track one at a time.
> 
> You could also package it up into a service for a contextual menu in
> iTunes using Automator...
> 
> Good luck!
> 
> ------------------------------------------------------------------------------
> ------------------------------------------------------------------------------
> -------
> -- Start of script
> 
> property my_title : "Import To iPod"
> property opt1 : "Change Encoder"
> 
> global this_iPod -- the selected iPod
> global list_of_iPod_sources
> global list_of_iPod_names
> global importTheseTracks
> global encoder_backup
> 
> check_for_iPod()
> 
> getSelectedTracks()
> 
> tell application "iTunes"
> 
> -- send to which iPod?
> if (length of list_of_iPod_sources) > 1 then
> set this_iPod_name to (choose from list list_of_iPod_names with
> prompt "Select the iPod to use:      " with title my_title without
> multiple selections allowed and empty selection allowed) as text
> if this_iPod_name is "false" then return
> set this_iPod to some source whose name is this_iPod_name and kind
> is iPod
> else
> set this_iPod to item 1 of list_of_iPod_sources
> set this_iPod_name to item 1 of list_of_iPod_names
> end if
> 
> -- get encoder info
> set theEncoderNames to (get name of every encoder)
> set n to (get name of current encoder)
> repeat with j from 1 to (length of theEncoderNames)
> if n is item j of theEncoderNames then
> copy name of current encoder to encoder_backup
> exit repeat
> end if
> end repeat
> 
> repeat
> set conf_or_cont to button returned of (display dialog "Transcode
> the enabled (check-marked) tracks, and import them to iPod via iTunes,
> then removes the duplicated tracks from iTunes library and deletes the
> files from your hard drive." & return & return & ("Current encoder: "
> & (get name of current encoder)) buttons {"Cancel", opt1,
> "Continue..."} default button 3 giving up after 300 with title my_title)
> if conf_or_cont is opt1 then
> -- change encoder   
> set myNewEncoder to (choose from list theEncoderNames with prompt
> "Convert enabled tracks using..." default items ((get name of current
> encoder) as list) OK button name "Select" cancel button name "Cancel"
> with title my_title without multiple selections allowed and empty
> selection allowed) as text
> if myNewEncoder is "false" then return
> set current encoder to encoder myNewEncoder
> else
> exit repeat
> end if
> end repeat
> 
> set addenda to ""
> try
> with timeout of 30000 seconds
> repeat with aTrack in importTheseTracks
> set new_import to item 1 of (convert aTrack)
> if ((get free space of this_iPod) as real) < (size of new_import)
> then
> set addenda to (return & return & "There is not enough room on
> the iPod to continue.")
> my nuke_this_track(new_import)
> exit repeat
> end if
> 
> try
> set n to (get new_import's name)
> set x to (add (get new_import's location) to library playlist 1
> of this_iPod)
> set x's name to n
> on error m number n
> -- debugging
> -- log m
> -- log n
> end try
> 
> my nuke_this_track(new_import)
> end repeat
> end timeout
> 
> on error m number n
> log "ERROR: " & m
> set current encoder to encoder encoder_backup
> try
> display dialog "Operation canceled." & return & return & m buttons
> {"OK"} default button 0 with icon 2
> end try
> return
> end try
> 
> set current encoder to encoder encoder_backup
> 
> if frontmost then
> if gave up of (display dialog "Done." & return & return & "Current
> encoder: " & encoder_backup & addenda buttons {"Thanks"} default
> button 1 with title my_title giving up after 15) then return
> end if
> 
> end tell
> 
> 
> to nuke_this_track(t)
> tell application "iTunes"
> set loc to quoted form of POSIX path of ((get location of t) as text)
> delete t
> end tell
> do shell script "rm " & loc
> end nuke_this_track
> 
> to getSelectedTracks()
> 
> tell application "iTunes"
> if selection is not {} then
> set importTheseTracks to selection
> else
> display dialog return & "No tracks selected"
> end if
> end tell
> 
> end getSelectedTracks
> 
> to check_for_iPod()
> set this_iPod to missing value
> set list_of_iPod_sources to {}
> set list_of_iPod_names to {}
> tell application "iTunes"
> set lp to every source whose kind is iPod
> if lp is {} then return
> repeat with src in lp
> my check_ipod_management(src)
> end repeat
> end tell
> 
> if list_of_iPod_sources is {} then
> display dialog return & "No manually managed iPods are mounted..."
> buttons {"Cancel"} default button 1 with icon 0 giving up after 15
> with title my_title
> error number -128
> end if
> 
> end check_for_iPod
> 
> to check_ipod_management(p)
> tell application "iTunes"
> try
> set x to (make new user playlist at p)
> delete x
> set end of list_of_iPod_sources to p
> set end of list_of_iPod_names to (name of p)
> end try
> end tell
> end check_ipod_management
> 
> -- End of script
> ------------------------------------------------------------------------------
> ------------------------------------------------------------------------------
> -------
> 
> 
> 
> Cheers
> Dan
> 
> On 18 Sep 2009, at 12:35, Vladimiro Sassone wrote:
> 
>> On 18 Sep 2009, at 11:45, "Neil Broderick" <ngb at ecs.soton.ac.uk>
>> wrote:
>> 
>>> Clearly there is the time consuming solution of importing everything
>>> twice which I would like to avoid. But if there is a simpler
>>> solution that somebody can tell me would be great.
>> 
>> The short answer is: there isn't.
>> 
>> A more elaborate answer is that if you use ffmpeg to transcode from
>> ALAC to AAC or to MP3 you'll definitely gain loads both in quality
>> (wrt the crappy Apple importer) and speed (apart that ffmpeg is fast,
>> you won't have to spin a cd).
>> 
> 




More information about the Osx-users mailing list