aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: ced8b1f9b4af888a45e496a9e3efb0b38e99e964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# musicopy

a simple utility that copies music and playlists from a folder to another folder

## 'amazing' features:

- [x] glob include/exclude patterns
- [x] doesn't copy existing files
- [x] multiple different configuration sections for different media players or libraries
- [ ] stores a copy of your playlist to merge differences created on another media player

## dependencies

- [inih](https://github.com/benhoyt/inih)
- [cwalk](https://github.com/likle/cwalk)
- [openssl](https://www.openssl.org/) (you probably already have this)

## config file

the config file is in ini format. here's the options:

```rc
[default]
music_dir = ~/music
playlist_dir = ~/playlists

target_music_dir = /mnt/player/Music
target_playlist_dir = /mnt/player/Playlists

# multi-line ini works too (multiple definitions
# of the same key also works)
# exclude = junk/**
# 	i don't like this music/**

# include = folders to include/**

# don't copy existing files
# none = blindly overwrite files
# lazy = only overwrite if a file doesn't exists
# size = only overwrite if file size doesn't match
# hash = only overwrite if sha1 hash doesn't match
existing = lazy

```