Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
9e246a6a
Commit
9e246a6a
authored
Jun 30, 2004
by
Warren Dukes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rename idToNum and numToId to idToPostion and positionToId - from tw-nym
git-svn-id:
https://svn.musicpd.org/mpd/trunk@1734
09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent
a1aa9697
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
34 deletions
+34
-34
playlist.c
src/playlist.c
+34
-34
No files found.
src/playlist.c
View file @
9e246a6a
...
...
@@ -65,8 +65,8 @@ typedef struct _Playlist {
/* holds version a song was modified on */
mpd_uint32
*
songMod
;
int
*
order
;
int
*
num
ToId
;
int
*
idTo
Num
;
int
*
position
ToId
;
int
*
idTo
Position
;
int
length
;
int
current
;
int
queued
;
...
...
@@ -161,9 +161,9 @@ void initPlaylist() {
playlist
.
songs
=
malloc
(
sizeof
(
Song
*
)
*
playlist_max_length
);
playlist
.
songMod
=
malloc
(
sizeof
(
mpd_uint32
)
*
playlist_max_length
);
playlist
.
order
=
malloc
(
sizeof
(
int
)
*
playlist_max_length
);
playlist
.
idTo
Num
=
malloc
(
sizeof
(
int
)
*
playlist_max_length
*
playlist
.
idTo
Position
=
malloc
(
sizeof
(
int
)
*
playlist_max_length
*
PLAYLIST_HASH_MULT
);
playlist
.
num
ToId
=
malloc
(
sizeof
(
int
)
*
playlist_max_length
);
playlist
.
position
ToId
=
malloc
(
sizeof
(
int
)
*
playlist_max_length
);
memset
(
playlist
.
songs
,
0
,
sizeof
(
char
*
)
*
playlist_max_length
);
...
...
@@ -174,14 +174,14 @@ void initPlaylist() {
}
for
(
i
=
0
;
i
<
playlist_max_length
*
PLAYLIST_HASH_MULT
;
i
++
)
{
playlist
.
idTo
Num
[
i
]
=
-
1
;
playlist
.
idTo
Position
[
i
]
=
-
1
;
}
}
static
int
getNextId
()
{
static
int
cur
=
0
;
while
(
playlist
.
idTo
Num
[
cur
]
!=
-
1
)
{
while
(
playlist
.
idTo
Position
[
cur
]
!=
-
1
)
{
cur
++
;
if
(
cur
>=
playlist_max_length
*
PLAYLIST_HASH_MULT
)
{
cur
=
0
;
...
...
@@ -207,10 +207,10 @@ void finishPlaylist() {
playlist
.
songMod
=
NULL
;
free
(
playlist
.
order
);
playlist
.
order
=
NULL
;
free
(
playlist
.
idTo
Num
);
playlist
.
idTo
Num
=
NULL
;
free
(
playlist
.
num
ToId
);
playlist
.
num
ToId
=
NULL
;
free
(
playlist
.
idTo
Position
);
playlist
.
idTo
Position
=
NULL
;
free
(
playlist
.
position
ToId
);
playlist
.
position
ToId
=
NULL
;
}
int
clearPlaylist
(
FILE
*
fp
)
{
...
...
@@ -222,7 +222,7 @@ int clearPlaylist(FILE * fp) {
if
(
playlist
.
songs
[
i
]
->
type
==
SONG_TYPE_URL
)
{
freeJustSong
(
playlist
.
songs
[
i
]);
}
playlist
.
idTo
Num
[
playlist
.
num
ToId
[
i
]]
=
-
1
;
playlist
.
idTo
Position
[
playlist
.
position
ToId
[
i
]]
=
-
1
;
playlist
.
songs
[
i
]
=
NULL
;
}
playlist
.
length
=
0
;
...
...
@@ -425,7 +425,7 @@ void printPlaylistSongInfo(FILE * fp, int song) {
printMpdTag
(
fp
,
tag
);
}
myfprintf
(
fp
,
"Pos: %i
\n
"
,
song
);
myfprintf
(
fp
,
"Id: %i
\n
"
,
playlist
.
num
ToId
[
song
]);
myfprintf
(
fp
,
"Id: %i
\n
"
,
playlist
.
position
ToId
[
song
]);
}
int
playlistChanges
(
FILE
*
fp
,
mpd_uint32
version
)
{
...
...
@@ -465,7 +465,7 @@ int playlistInfo(FILE * fp, int song) {
# define checkSongId(id) { \
if(id < 0 || id >= PLAYLIST_HASH_MULT*playlist_max_length || \
playlist.idTo
Num
[id] == -1 ) \
playlist.idTo
Position
[id] == -1 ) \
{ \
commandError(fp, ACK_ERROR_NO_EXIST, \
"song id doesn't exist: \"%i\"", id); \
...
...
@@ -480,7 +480,7 @@ int playlistId(FILE * fp, int id) {
if
(
id
>=
0
)
{
checkSongId
(
id
);
begin
=
playlist
.
idTo
Num
[
id
];
begin
=
playlist
.
idTo
Position
[
id
];
end
=
begin
+
1
;
}
...
...
@@ -500,12 +500,12 @@ void swapSongs(int song1, int song2) {
playlist
.
songMod
[
song1
]
=
playlist
.
version
;
playlist
.
songMod
[
song2
]
=
playlist
.
version
;
playlist
.
idTo
Num
[
playlist
.
num
ToId
[
song1
]]
=
song2
;
playlist
.
idTo
Num
[
playlist
.
num
ToId
[
song2
]]
=
song1
;
playlist
.
idTo
Position
[
playlist
.
position
ToId
[
song1
]]
=
song2
;
playlist
.
idTo
Position
[
playlist
.
position
ToId
[
song2
]]
=
song1
;
iTemp
=
playlist
.
num
ToId
[
song1
];
playlist
.
numToId
[
song1
]
=
playlist
.
num
ToId
[
song2
];
playlist
.
num
ToId
[
song2
]
=
iTemp
;
iTemp
=
playlist
.
position
ToId
[
song1
];
playlist
.
positionToId
[
song1
]
=
playlist
.
position
ToId
[
song2
];
playlist
.
position
ToId
[
song2
]
=
iTemp
;
}
void
queueNextSongInPlaylist
()
{
...
...
@@ -624,8 +624,8 @@ int addSongToPlaylist(FILE * fp, Song * song) {
playlist
.
songs
[
playlist
.
length
]
=
song
;
playlist
.
songMod
[
playlist
.
length
]
=
playlist
.
version
;
playlist
.
order
[
playlist
.
length
]
=
playlist
.
length
;
playlist
.
num
ToId
[
playlist
.
length
]
=
getNextId
();
playlist
.
idTo
Num
[
playlist
.
num
ToId
[
playlist
.
length
]]
=
playlist
.
length
;
playlist
.
position
ToId
[
playlist
.
length
]
=
getNextId
();
playlist
.
idTo
Position
[
playlist
.
position
ToId
[
playlist
.
length
]]
=
playlist
.
length
;
playlist
.
length
++
;
if
(
playlist
.
random
)
{
...
...
@@ -702,13 +702,13 @@ int swapSongsInPlaylistById(FILE * fp, int id1, int id2) {
checkSongId
(
id1
);
checkSongId
(
id2
);
return
swapSongsInPlaylist
(
fp
,
playlist
.
idTo
Num
[
id1
],
playlist
.
idTo
Num
[
id2
]);
return
swapSongsInPlaylist
(
fp
,
playlist
.
idTo
Position
[
id1
],
playlist
.
idTo
Position
[
id2
]);
}
#define moveSongFromTo(from, to) { \
playlist.idTo
Num[playlist.num
ToId[from]] = to; \
playlist.
numToId[to] = playlist.num
ToId[from]; \
playlist.idTo
Position[playlist.position
ToId[from]] = to; \
playlist.
positionToId[to] = playlist.position
ToId[from]; \
playlist.songs[to] = playlist.songs[from]; \
playlist.songMod[to] = playlist.version; \
}
...
...
@@ -737,7 +737,7 @@ int deleteFromPlaylist(FILE * fp, int song) {
freeJustSong
(
playlist
.
songs
[
song
]);
}
playlist
.
idTo
Num
[
playlist
.
num
ToId
[
song
]]
=
-
1
;
playlist
.
idTo
Position
[
playlist
.
position
ToId
[
song
]]
=
-
1
;
/* delete song from songs array */
for
(
i
=
song
;
i
<
playlist
.
length
-
1
;
i
++
)
{
...
...
@@ -784,7 +784,7 @@ int deleteFromPlaylist(FILE * fp, int song) {
int
deleteFromPlaylistById
(
FILE
*
fp
,
int
id
)
{
checkSongId
(
id
);
return
deleteFromPlaylist
(
fp
,
playlist
.
idTo
Num
[
id
]);
return
deleteFromPlaylist
(
fp
,
playlist
.
idTo
Position
[
id
]);
}
void
deleteASongFromPlaylist
(
Song
*
song
)
{
...
...
@@ -885,7 +885,7 @@ int playPlaylistById(FILE * fp, int id, int stopOnError) {
checkSongId
(
id
);
return
playPlaylist
(
fp
,
playlist
.
idTo
Num
[
id
],
stopOnError
);
return
playPlaylist
(
fp
,
playlist
.
idTo
Position
[
id
],
stopOnError
);
}
void
syncCurrentPlayerDecodeMetadata
()
{
...
...
@@ -1039,7 +1039,7 @@ int moveSongInPlaylist(FILE * fp, int from, int to) {
}
tmpSong
=
playlist
.
songs
[
from
];
tmpId
=
playlist
.
num
ToId
[
from
];
tmpId
=
playlist
.
position
ToId
[
from
];
/* move songs to one less in from->to */
for
(
i
=
from
;
i
<
to
;
i
++
)
{
moveSongFromTo
(
i
+
1
,
i
);
...
...
@@ -1049,8 +1049,8 @@ int moveSongInPlaylist(FILE * fp, int from, int to) {
moveSongFromTo
(
i
-
1
,
i
);
}
/* put song at _to_ */
playlist
.
idTo
Num
[
tmpId
]
=
to
;
playlist
.
num
ToId
[
to
]
=
tmpId
;
playlist
.
idTo
Position
[
tmpId
]
=
to
;
playlist
.
position
ToId
[
to
]
=
tmpId
;
playlist
.
songs
[
to
]
=
tmpSong
;
playlist
.
songMod
[
to
]
=
playlist
.
version
;
/* now deal with order */
...
...
@@ -1084,7 +1084,7 @@ int moveSongInPlaylist(FILE * fp, int from, int to) {
int
moveSongInPlaylistById
(
FILE
*
fp
,
int
id1
,
int
to
)
{
checkSongId
(
id1
);
return
moveSongInPlaylist
(
fp
,
playlist
.
idTo
Num
[
id1
],
to
);
return
moveSongInPlaylist
(
fp
,
playlist
.
idTo
Position
[
id1
],
to
);
}
void
orderPlaylist
()
{
...
...
@@ -1463,9 +1463,9 @@ int seekSongInPlaylist(FILE * fp, int song, float time) {
int
seekSongInPlaylistById
(
FILE
*
fp
,
int
id
,
float
time
)
{
checkSongId
(
id
);
return
seekSongInPlaylist
(
fp
,
playlist
.
idTo
Num
[
id
],
time
);
return
seekSongInPlaylist
(
fp
,
playlist
.
idTo
Position
[
id
],
time
);
}
int
getPlaylistSongId
(
int
song
)
{
return
playlist
.
num
ToId
[
song
];
return
playlist
.
position
ToId
[
song
];
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment