Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

1rottenapple

macrumors 601
Original poster
Apr 21, 2004
4,704
2,719
Im thinking about getting an older MacBook/MacBook Pro to sync my iPod songs too. I just remember having a better experience with iTunes vs what we have today with syncing to finder. Does genius recommended playlist still work or did apple completely do away with that function even on older Macs running obsolete OS?

Are there others who sync their iPod classics with an older Mac specifically in early 2010s generation.

Are there alternative iPod syncing programs with automatic playlist creation based on a specific song?
 
  • Like
Reactions: N69AP

ApolloBoy

macrumors 6502a
Apr 16, 2015
778
305
San Jose, CA
That's not too bad of an idea, I actually use a mid-2009 13" MBP as my main iPod support machine and it's been working out fairly well. One advantage is that most older MacBooks have FireWire, which you'll need for the first two iPod generations and to both charge and sync third generation iPods. A1181 MacBooks tend to be dirt cheap and are easy to upgrade, but finding one that isn't haggard is tough.

Another thing I've noticed is that the Finder is really glitchy when it comes to syncing and especially restoring iPods, I've had moments where it didn't restore iPods properly or thought the iPod was synced to a different computer.
 

1rottenapple

macrumors 601
Original poster
Apr 21, 2004
4,704
2,719
Interesting. How about other features such as genius playlist? Does that still work for you?

How about album art, and lyrics?

Finder/Music totally screwed up my album art.
 
  • Like
Reactions: Slix

ApolloBoy

macrumors 6502a
Apr 16, 2015
778
305
San Jose, CA
I don't use Genius Playlists so I can't speak to that. For album art, I tag my own stuff and I haven't any issues in that regard. Can't speak to lyrics either as I never bothered adding those to my music library, but you can always add custom lyrics within iTunes and copy and paste from another site.
 

Bustycat

macrumors 65816
Jan 21, 2015
1,187
2,823
New Taipei, Taiwan
Another thing I've noticed is that the Finder is really glitchy when it comes to syncing and especially restoring iPods, I've had moments where it didn't restore iPods properly or thought the iPod was synced to a different computer.
The disk use has to be enabled before restoring. When iPod gets stuck during restoring, open Disk Utility and eject the disk of your iPod there.
 

Slix

macrumors 65816
Mar 24, 2010
1,444
1,994
I just recently upgraded from a MacBook Air running 10.14 Mojave and iTunes to 13 Ventura using the Music app and Finder for syncing. Yes, iTunes was much better. I've had more issues already in the last two months getting it to properly sync, show up in Finder even, and some album art isn't syncing properly. Lyrics synced fine in Movajve too. I was debating keeping my old Mac around for iTunes only, but at this point I've already gotten so many play counts added it would be hard to switch back to another library. :(
 

arw

macrumors 65816
Aug 31, 2010
1,092
857
(…) but at this point I've already gotten so many play counts added it would be hard to switch back to another library.
Slightly off-topic but IF you only have local media files, then you can transfer the play counts with AppleScript:
in Music.app: Write current play count into an unused tag of the audio files or add it to an existing tag.
in iTunes.app: Refresh metadata from files & update play count from tag. Or add to existing play count.

Also works fine with iTunes installed via Retroactive on newer versions of macOS.
 
  • Love
Reactions: Slix

Slix

macrumors 65816
Mar 24, 2010
1,444
1,994
Slightly off-topic but IF you only have local media files, then you can transfer the play counts with AppleScript:
in Music.app: Write current play count into an unused tag of the audio files or add it to an existing tag.
in iTunes.app: Refresh metadata from files & update play count from tag. Or add to existing play count.

Also works fine with iTunes installed via Retroactive on newer versions of macOS.
Do you have the scripts to do this handy? I’d like to try it sometime.
 

1rottenapple

macrumors 601
Original poster
Apr 21, 2004
4,704
2,719
Ok I have a perspective 2012 MBP I plan to tinker with for a good price. Let’s see if it’s a better option for iPod syncing.
 

arw

macrumors 65816
Aug 31, 2010
1,092
857
Do you have the scripts to do this handy? I’d like to try it sometime.
Sorry, it took some time as I have them integrated in a bigger toolkit.

In regard to the messed up artworks, you can try my AppleScript which updates each artwork on the iPod/iPhone with the exact song match from your Mac library.

I've put the scripts in:
~/Library/Music/Scripts and ~/Library/iTunes/Scripts
so they can be accessed directly from Music/iTunes via the AppleScript menu bar icon. Folders may not exist by default.

Play Count Sync:
EDIT: The following only works if you access the identical instances of the media files with both libraries (from NAS, shared storage, ...). Locally managed libraries/files require different approaches.

- In the script below I'm assuming the library is clean of orphaned files otherwise the loop gets interrupted.
- The scripts only affect the currently selected files (which can be all).
- Files with 0 play count won't get unnecessarily modified.
- In my example I chose sort composer for (temporarily) storing the play count. See last 'Spoilers' for all available tags.
- The script can be run as often as one likes to update the files themselves with the current play counts.
This is useful when moving files or rebuilding the library.
- Prior to reading said tag, the file info gets updated by refreshing the file from disk.

First, execute the script in Music.app:
<For the selected files, update the tags sort composer and current played count with whichever value is higher>
AppleScript:
-- Sync.Play.Count.scpt --
tell application "Music"
    activate
    ---------------------------------------------------
    set sel to (get selection)
    if sel is {} then
        display dialog "Nothing is selected…" buttons {"Quit"} with icon 0
        return
    end if
    ---------------------------------------------------
    repeat with i from 1 to (count of sel)
        set thisTrack to item i of sel
        refresh thisTrack
        set thePlayedCount to thisTrack's played count as number
        set theSortComposer to thisTrack's sort composer
        if theSortComposer is "" then set theSortComposer to 0 as number
        try
            set theSortComposer to theSortComposer as number
        on error theError
            display dialog theError
            return
        end try
        if class of theSortComposer is not integer then
            display dialog "Sort Composer already contains data!"
            exit repeat
        end if
        if thePlayedCount is not 0 or theSortComposer is not 0 then
            if theSortComposer is less than thePlayedCount then
                set thisTrack's sort composer to thePlayedCount
            else
                set thisTrack's played count to theSortComposer
            end if
        end if
    end repeat
    ---------------------------------------------------
    display dialog "Done syncing play count." giving up after 1
end tell

For iTunes, make a copy of the script and replace:
tell application "Music" with tell application "iTunes"
Of course you can modify it to ADD the new play count to the existing value.

Now you can optionally delete the tag (in this case sort composer) for all files in iTunes.

Bonus: Manually define the play count for each of the selected files:
AppleScript:
tell application "Music"
    set sel to selection
    repeat with t in sel
        set trackname to the name of t
        set dialog_answers to display dialog "Enter a new play count for " & trackname & ":" default answer ""
        set newcount to text returned of dialog_answers as integer
        if button returned of dialog_answers is "OK" then
            set played count of t to newcount
        end if
    end repeat
end tell

Available tags (not all tags are updated in-file but in the library only):
track n [inh. item] : playable audio source

elements
contains artworks; contained by application, playlists.

properties
album (text) : the album name of the track
album artist (text) : the album artist of the track
album disliked (boolean) : is the album for this track disliked?
album loved (boolean) : is the album for this track loved?
album rating (integer) : the rating of the album for this track (0 to 100)
album rating kind (user/‌computed, r/o) : the rating kind of the album rating for this track
artist (text) : the artist/source of the track
bit rate (integer, r/o) : the bit rate of the track (in kbps)
bookmark (real) : the bookmark time of the track in seconds
bookmarkable (boolean) : is the playback position for this track remembered?
bpm (integer) : the tempo of this track in beats per minute
category (text) : the category of the track
cloud status (unknown/‌purchased/‌matched/‌uploaded/‌ineligible/‌removed/‌error/‌duplicate/‌subscription/‌no longer available/‌not uploaded, r/o) : the iCloud status of the track
comment (text) : freeform notes about the track
compilation (boolean) : is this track from a compilation album?
composer (text) : the composer of the track
database ID (integer, r/o) : the common, unique ID for this track. If two tracks in different playlists have the same database ID, they are sharing the same data.
date added (date, r/o) : the date the track was added to the playlist
description (text) : the description of the track
disc count (integer) : the total number of discs in the source album
disc number (integer) : the index of the disc containing this track on the source album
disliked (boolean) : is this track disliked?
downloader Apple ID (text, r/o) : the Apple ID of the person who downloaded this track
downloader name (text, r/o) : the name of the person who downloaded this track
duration (real, r/o) : the length of the track in seconds
enabled (boolean) : is this track checked for playback?
episode ID (text) : the episode ID of the track
episode number (integer) : the episode number of the track
EQ (text) : the name of the EQ preset of the track
finish (real) : the stop time of the track in seconds
gapless (boolean) : is this track from a gapless album?
genre (text) : the music/audio genre (category) of the track
grouping (text) : the grouping (piece) of the track. Generally used to denote movements within a classical work.
kind (text, r/o) : a text description of the track
long description (text) : the long description of the track
loved (boolean) : is this track loved?
lyrics (text) : the lyrics of the track
media kind (song/‌music video/‌unknown) : the media kind of the track
modification date (date, r/o) : the modification date of the content of this track
movement (text) : the movement name of the track
movement count (integer) : the total number of movements in the work
movement number (integer) : the index of the movement in the work
played count (integer) : number of times this track has been played
played date (date) : the date and time this track was last played
purchaser Apple ID (text, r/o) : the Apple ID of the person who purchased this track
purchaser name (text, r/o) : the name of the person who purchased this track
rating (integer) : the rating of this track (0 to 100)
rating kind (user/‌computed, r/o) : the rating kind of this track
release date (date, r/o) : the release date of this track
sample rate (integer, r/o) : the sample rate of the track (in Hz)
season number (integer) : the season number of the track
shufflable (boolean) : is this track included when shuffling?
skipped count (integer) : number of times this track has been skipped
skipped date (date) : the date and time this track was last skipped
show (text) : the show name of the track
sort album (text) : override string to use for the track when sorting by album
sort artist (text) : override string to use for the track when sorting by artist
sort album artist (text) : override string to use for the track when sorting by album artist
sort name (text) : override string to use for the track when sorting by name
sort composer (text) : override string to use for the track when sorting by composer
sort show (text) : override string to use for the track when sorting by show name
size (double integer, r/o) : the size of the track (in bytes)
start (real) : the start time of the track in seconds
time (text, r/o) : the length of the track in MM:SS format
track count (integer) : the total number of tracks on the source album
track number (integer) : the index of the track on the source album
unplayed (boolean) : is this track unplayed?
volume adjustment (integer) : relative volume adjustment of the track (-100% to 100%)
work (text) : the work name of the track
year (integer) : the year the track was recorded/released
same as 'Music.sdef' and additionally:

media kind (alert tone/‌audiobook/‌book/‌home video/‌iTunesU/‌movie/‌song/‌music video/‌podcast/‌ringtone/‌TV show/‌voice memo/‌unknown) : the media kind of the track
video kind (none/‌home video/‌movie/‌music video/‌TV show) : kind of video track

Lots of ideas are based on scripts found at Doug's AppleScripts.
 
Last edited:
  • Love
Reactions: Slix

Slix

macrumors 65816
Mar 24, 2010
1,444
1,994
Sorry, it took some time as I have them integrated in a bigger toolkit.

In regard to the messed up artworks, you can try my AppleScript which updates each artwork on the iPod/iPhone with the exact song match from your Mac library.

I've put the scripts in:
~/Library/Music/Scripts and ~/Library/iTunes/Scripts
so they can be accessed directly from Music/iTunes via the AppleScript menu bar icon. Folders may not exist by default.

Play Count Sync:
- In the script below I'm assuming the library is clean of orphaned files otherwise the loop gets interrupted.
- The scripts only affect the currently selected files (which can be all).
- Files with 0 play count won't get unnecessarily modified.
- In my example I chose sort composer for (temporarily) storing the play count. See last 'Spoilers' for all available tags.
- The script can be run as often as one likes to update the files themselves with the current play counts.
This is useful when moving files or rebuilding the library.
- Prior to reading said tag, the file info gets updated by refreshing the file from disk.

First, execute the script in Music.app:
<For the selected files, update the tags sort composer and current played count with whichever value is higher>
AppleScript:
-- Sync.Play.Count.scpt --
tell application "Music"
    activate
    ---------------------------------------------------
    set sel to (get selection)
    if sel is {} then
        display dialog "Nothing is selected…" buttons {"Quit"} with icon 0
        return
    end if
    ---------------------------------------------------
    repeat with i from 1 to (count of sel)
        set thisTrack to item i of sel
        refresh thisTrack
        set thePlayedCount to thisTrack's played count as number
        set theSortComposer to thisTrack's sort composer
        if theSortComposer is "" then set theSortComposer to 0 as number
        try
            set theSortComposer to theSortComposer as number
        on error theError
            display dialog theError
            return
        end try
        if class of theSortComposer is not integer then
            display dialog "Sort Composer already contains data!"
            exit repeat
        end if
        if thePlayedCount is not 0 or theSortComposer is not 0 then
            if theSortComposer is less than thePlayedCount then
                set thisTrack's sort composer to thePlayedCount
            else
                set thisTrack's played count to theSortComposer
            end if
        end if
    end repeat
    ---------------------------------------------------
    display dialog "Done syncing play count." giving up after 1
end tell

For iTunes, make a copy of the script and replace:
tell application "Music" with tell application "iTunes"
Of course you can modify it to ADD the new play count to the existing value.

Now you can optionally delete the tag (in this case sort composer) for all files in iTunes.

Bonus: Manually define the play count for each of the selected files:
AppleScript:
tell application "Music"
    set sel to selection
    repeat with t in sel
        set trackname to the name of t
        set dialog_answers to display dialog "Enter a new play count for " & trackname & ":" default answer ""
        set newcount to text returned of dialog_answers as integer
        if button returned of dialog_answers is "OK" then
            set played count of t to newcount
        end if
    end repeat
end tell

Available tags (not all tags are updated in-file but in the library only):
track n [inh. item] : playable audio source

elements
contains artworks; contained by application, playlists.

properties
album (text) : the album name of the track
album artist (text) : the album artist of the track
album disliked (boolean) : is the album for this track disliked?
album loved (boolean) : is the album for this track loved?
album rating (integer) : the rating of the album for this track (0 to 100)
album rating kind (user/‌computed, r/o) : the rating kind of the album rating for this track
artist (text) : the artist/source of the track
bit rate (integer, r/o) : the bit rate of the track (in kbps)
bookmark (real) : the bookmark time of the track in seconds
bookmarkable (boolean) : is the playback position for this track remembered?
bpm (integer) : the tempo of this track in beats per minute
category (text) : the category of the track
cloud status (unknown/‌purchased/‌matched/‌uploaded/‌ineligible/‌removed/‌error/‌duplicate/‌subscription/‌no longer available/‌not uploaded, r/o) : the iCloud status of the track
comment (text) : freeform notes about the track
compilation (boolean) : is this track from a compilation album?
composer (text) : the composer of the track
database ID (integer, r/o) : the common, unique ID for this track. If two tracks in different playlists have the same database ID, they are sharing the same data.
date added (date, r/o) : the date the track was added to the playlist
description (text) : the description of the track
disc count (integer) : the total number of discs in the source album
disc number (integer) : the index of the disc containing this track on the source album
disliked (boolean) : is this track disliked?
downloader Apple ID (text, r/o) : the Apple ID of the person who downloaded this track
downloader name (text, r/o) : the name of the person who downloaded this track
duration (real, r/o) : the length of the track in seconds
enabled (boolean) : is this track checked for playback?
episode ID (text) : the episode ID of the track
episode number (integer) : the episode number of the track
EQ (text) : the name of the EQ preset of the track
finish (real) : the stop time of the track in seconds
gapless (boolean) : is this track from a gapless album?
genre (text) : the music/audio genre (category) of the track
grouping (text) : the grouping (piece) of the track. Generally used to denote movements within a classical work.
kind (text, r/o) : a text description of the track
long description (text) : the long description of the track
loved (boolean) : is this track loved?
lyrics (text) : the lyrics of the track
media kind (song/‌music video/‌unknown) : the media kind of the track
modification date (date, r/o) : the modification date of the content of this track
movement (text) : the movement name of the track
movement count (integer) : the total number of movements in the work
movement number (integer) : the index of the movement in the work
played count (integer) : number of times this track has been played
played date (date) : the date and time this track was last played
purchaser Apple ID (text, r/o) : the Apple ID of the person who purchased this track
purchaser name (text, r/o) : the name of the person who purchased this track
rating (integer) : the rating of this track (0 to 100)
rating kind (user/‌computed, r/o) : the rating kind of this track
release date (date, r/o) : the release date of this track
sample rate (integer, r/o) : the sample rate of the track (in Hz)
season number (integer) : the season number of the track
shufflable (boolean) : is this track included when shuffling?
skipped count (integer) : number of times this track has been skipped
skipped date (date) : the date and time this track was last skipped
show (text) : the show name of the track
sort album (text) : override string to use for the track when sorting by album
sort artist (text) : override string to use for the track when sorting by artist
sort album artist (text) : override string to use for the track when sorting by album artist
sort name (text) : override string to use for the track when sorting by name
sort composer (text) : override string to use for the track when sorting by composer
sort show (text) : override string to use for the track when sorting by show name
size (double integer, r/o) : the size of the track (in bytes)
start (real) : the start time of the track in seconds
time (text, r/o) : the length of the track in MM:SS format
track count (integer) : the total number of tracks on the source album
track number (integer) : the index of the track on the source album
unplayed (boolean) : is this track unplayed?
volume adjustment (integer) : relative volume adjustment of the track (-100% to 100%)
work (text) : the work name of the track
year (integer) : the year the track was recorded/released
same as 'Music.sdef' and additionally:

media kind (alert tone/‌audiobook/‌book/‌home video/‌iTunesU/‌movie/‌song/‌music video/‌podcast/‌ringtone/‌TV show/‌voice memo/‌unknown) : the media kind of the track
video kind (none/‌home video/‌movie/‌music video/‌TV show) : kind of video track

Lots of ideas are based on scripts found at Doug's AppleScripts.
Thanks! I just tried the play count updater on two test machines (running 13/Music, and 10.11/iTunes) and I must be missing a step to get the library data to match on the machines before running the iTunes script. So, right now the script just runs and nothing changes because it doesn't know the Music library has updated data. I can't just copy the library folder over right? How do I do this?
 

1rottenapple

macrumors 601
Original poster
Apr 21, 2004
4,704
2,719
OMG I finally figure it out! Genius works! And my 7th gen iPod classic also support creating genius playlist on the device!
 

Scoot65

macrumors regular
Nov 7, 2017
133
62
England, United Kingdom
I'm still using my 2012 13" MacBook Pro running macOS Sierra with iTunes 12.6 (it's my only MacBook)

I still sync my 5th gen 60GB iPod and 5th gen iPod Touch. Also my two 2nd gen 20GB iPods would sync fully however they are now full so I don't sync them anymore.

I get the individual song label / art from the internet and copy that to the corresponding songs.

I don't use Genius playlists, or subscribe to Apple Music
 

rx7dude

macrumors 6502
Mar 29, 2011
265
986
Toronto
I'm using my 2012 Mac Pro with 10.14.6 and iTunes.
iPod Nano, iPod classic and iPhone 12 Pro all sync to my iTunes.
I tried my M1 MacBook and had some weird "Trust" issues and went back to the MP

I find the artwork from iTunes is hit or miss. Often times it grabs the Greatest Hits cover.
 

Ste_S

macrumors newbie
Dec 15, 2020
21
11
I've got an iBook G3 I keep around for syncing with my 2nd gen iPod. Its battery and hard drive are on the way out though, I'll probably opt for a used 13" Mid 2012 Macbook Pro (with firewire and optical drive) rather than trying to sort the G3 out.
 

winxmac

macrumors 65816
Sep 1, 2021
1,048
1,264
Using an older model allows you to use older versions...

Mavericks cannot be installed on MBP 2015, only Yosemite to Monterey (officially)...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.