Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
*INSTRUCTIONS: The names of all the albums and playlist created must not contain spaces .* I have maintained .txt files for songs , albums and playlists , So all three are presistent between diffrent runs . There is not feature to modify the songs.txt files . If you want to do so then please do manually . *Implementaion* : Each song and album has it unique integer ID that is used to search. The ids are maintained in integer variables so there is no need to enter a ID for creating albums . Whenever user has modify albums or playlists the user is shown the complete library of current albums , songs and playlist and asked to give the ID of the one that they want to modify . At the start of program I load all the songs , albums and playlists into linked lists and i have created a library struct that holds the linked lists for songs and albums . Every album and playlist has its own linked list of songs. For playlists i have used circular doubly linked list to transverse both sides . Any operation that is performed in the runtime is done in the linked lists and After the run , all the linked list data (i.e after the changes that the user has made) the linked lists are loaded back to their respective .txt files. I have also added free functions to free all the dynamically stored memory after the run . The command history is retained across runs and there is a option to view it as well Features available: 1.View songs , albums and playlists . 2.Create a albums and playlists . 3.Add songs to new playlists and albums (after creation as well as while creating) and existing albums and playlist . 4.Delete playlists and albums . 6.Play a playlist with features of playing next , previous and current song again . 7.View the command history(START implies start of a run and SAVE_AND_EXIT emplies end of session) *MakeFile*: Make : complies the code Make run: run the program as well as if not compiled compiles it . Make Clean : Deletes the executable file and the object files . Make rebuild : Same as running Make clean and Make (sequentially) . File structure: C-Unplugged/ │ ├── include/ │ ├── song.h │ ├── album.h │ ├── playlist.h │ └── library.h │ ├── src/ │ ├── main.c │ ├── song.c │ ├── album.c │ ├── playlist.c │ └── library.c │ ├── data/ │ ├── songs.txt │ ├── albums.txt │ ├── playlists.txt │ └── commands.log └── Makefile