[OSX-Users] Re: downgrading sound quality?
Steve Harris
swh at ecs.soton.ac.uk
Fri Sep 18 14:45:37 BST 2009
Yeah, I use this for making MP3 CDs for the car.
I wish the UI would do something useful with the near duplicates
though, you get two entries, one for each format.
I ended up making loads of smart playlists to filter out the things I
wanted.
- Steve
On 18 Sep 2009, at 14:39, Hugh Glaser wrote:
> 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