From 7865626f5bd5b00feb9dca8782d8585b5110f110 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Wed, 21 Dec 2022 10:38:47 +0100 Subject: [PATCH] multimedia: Add initial commit --- multimedia/.config/beets/config.yaml | 100 +++ .../beets/lastgenre_canonicallist.yaml | 783 ++++++++++++++++++ .../.config/beets/lastgenre_whitelist.txt | 491 +++++++++++ multimedia/.config/mopidy/mopidy.conf | 261 ++++++ multimedia/.config/ncmpcpp/bindings | 630 ++++++++++++++ multimedia/.config/ncmpcpp/config | 56 ++ 6 files changed, 2321 insertions(+) create mode 100644 multimedia/.config/beets/config.yaml create mode 100644 multimedia/.config/beets/lastgenre_canonicallist.yaml create mode 100644 multimedia/.config/beets/lastgenre_whitelist.txt create mode 100644 multimedia/.config/mopidy/mopidy.conf create mode 100644 multimedia/.config/ncmpcpp/bindings create mode 100644 multimedia/.config/ncmpcpp/config diff --git a/multimedia/.config/beets/config.yaml b/multimedia/.config/beets/config.yaml new file mode 100644 index 0000000..59993f9 --- /dev/null +++ b/multimedia/.config/beets/config.yaml @@ -0,0 +1,100 @@ +# much of this such as the whitelist, canonical list for lasgenre +# is stolen from https://github.com/montchr/beets-config/ with much gratitude + +directory: ~/media/audio/music +threaded: true +art_filename: albumart + +paths: + default: "%the{$albumartist}/$album/$track $title" + singleton: "singletons/%the{$artist - $title}" + comp: compilations/$album/$track $title + albumtype:soundtrack: soundtracks/$album/$track $title + +item_fields: + multidisc: 1 if disctotal > 1 else 0 + artist_differs: 1 if albumartist != artist else 0 + +plugins: + - bpd + - chroma + - edit + - fetchart + - embedart + - mbsync + - importadded + - info + - inline + - the + - ftintitle + - fromfilename + - spotify + - deezer + - bandcamp + - acousticbrainz + - lastgenre + - ydl + +import: + bell: true + # Doesn't allow upgrades. + # incremental: true + languages: + - en + log: ~/.cache/beets.log + copy: false + move: true + quiet_fallback: skip + timid: false + write: true + +# Use the album's original date instead of the release's date +original_date: yes + +# Play it safe with filenames +asciify_paths: yes +max_filename_length: 255 + +edit: + itemfields: track title artist album + albumfields: album albumartist + +match: + preferred: + countries: ["US", "UK|GB", "DE", "NL", "SE"] + media: ["Digital Media|File", "CD"] + strong_rec_thresh: 0.15 + medium_red_thresh: 0.25 + rec_gap_thresh: 0.25 + +musicbrainz: + extra_tags: [year, catalognum, country, media, label] + +albumtypes: + types: + - ep: 'EP' + - single: 'Single' + - soundtrack: 'OST' + - live: 'Live' + - compilation: 'Anthology' + - remix: 'Remix' + ignore_va: compilation + bracket: '[]' + +fetchart: + sources: filesystem coverart discogs amazon albumart + +lastgenre: + auto: true + canonical: ~/.config/beets/lastgenre_canonicallist.yaml + count: 4 + fallback: "" + force: yes + min_weight: 6 + prefer_specific: false + separator: "; " + source: album + whitelist: ~/.config/beets/lastgenre_whitelist.txt + +bandcamp: + art: true diff --git a/multimedia/.config/beets/lastgenre_canonicallist.yaml b/multimedia/.config/beets/lastgenre_canonicallist.yaml new file mode 100644 index 0000000..db7cc4d --- /dev/null +++ b/multimedia/.config/beets/lastgenre_canonicallist.yaml @@ -0,0 +1,783 @@ +- 2-step +- acapella +- acid +- acid house +- acid jazz +- acid techno +- adult contemporary +- african +- african blues +- african heavy metal +- african hip hop +- afrobeat +- aggrotech +- alternative country +- alternative metal +- alternative rock +- ambient +- ambient dub +- ambient house +- ambient space jazz +- ambient techno +- american folk revival +- americana +- anison +- anti-folk +- apala +- arab pop +- asian underground +- atlanta hip hop: + - snap music +- australian country music +- avant-garde +- avant-garde jazz +- axé +- bachata +- baithak gana +- bakersfield sound +- balearic beat +- ballet +- baltimore club +- barbershop +- baroque pop +- baroque: + - baroque music +- bebop +- benga +- berlin school: + - berlin school of electronic music + - berlin-school +- big band +- big beat +- bikutsi +- black metal: + - viking metal +- blue-eyed soul +- bluegrass: + - progressive bluegrass + - reactionary bluegrass +- blues +- blues country +- blues rock +- blues shouter +- bolero +- bongo flava +- boogie +- boogie-woogie +- bossa nova +- bounce music +- brazilian +- brazilian rock +- breakbeat: + - 4-beat + - acid breaks + - breakbeat hardcore + - broken beat + - florida breaks + - nu skool breaks +- breakcore +- brega +- british blues +- british folk revival +- britpop: + - post-britpop +- bubblegum pop +- c-pop: + - cantopop +- cajun: + - cajun fiddle tunes +- calypso +- canadian blues +- cantata +- cape jazz +- celtic music +- chamber jazz +- chamber music: + - string quartet +- chanson +- chicago blues +- chicago house +- chillwave: + - chill wave +- chimurenga +- chiptune: + - bitpop + - game boy music + - nintendocore + - video game music + - yorkshire bleeps and bass +- choro +- christian country music +- christian hip hop +- christian metal +- christian pop +- christian rock +- chutney +- chutney soca +- classic country +- classical crossover +- classical: + - classical music + - orchestra: + - orchestral + - symphonic + - symphony +- close harmony +- coldwave +- comedy: + - comedy music + - comedy rock + - humor + - parody music + - stand-up +- compas +- computer music +- concerto: + - concerto grosso +- contemporary folk +- contemporary r&b +- continental jazz +- cool jazz +- country +- country blues +- country pop +- country rap +- country rock +- country soul +- country-rap +- coupé-décalé +- cowpunk +- crunkcore +- cybergrind +- dance-punk +- dance-rock +- dancehall +- dansband music +- dark ambient +- dark electro +- darkwave: + - dark wave +- death industrial +- death metal: + - goregrind +- deconstructed club +- deep house +- deep techno +- delta blues +- detroit blues +- detroit techno +- digital hardcore: + - bouncy house + - bouncy techno + - hardstyle + - jumpstyle + - makina + - uk hardcore +- disco: + - disco polo: + - euro disco + - nu-disco +- diva house +- dixieland +- doo wop +- doom metal +- doomcore +- downtempo: + - chill out + - ethnic electronica + - moombahton + - nu jazz +- dream pop +- drone metal +- drone: + - drone music +- drum and bass: + - darkcore + - darkstep + - drumfunk + - drumstep + - hardstep + - intelligent drum and bass + - jump-up + - liquid funk + - neurofunk + - raggacore + - sambass + - techstep +- dub poetry +- dub techno +- dub: + - dub music +- dubstep +- dubtronica +- dungeon synth +- dutch house +- east coast hip hop: + - brick city club + - hardcore hip hop + - mafioso rap + - new jersey hip hop +- easy listening: + - background music + - beautiful music + - elevator music + - furniture music + - middle of the road +- ebm: + - electronic body music: + - futurepop +- edm: + - electronic dance music +- electric blues +- electro +- electro house +- electro-grime +- electro-industrial +- electroacoustic: + - acousmatic music + - electroacoustic improvisation + - live electronics +- electroclash +- electrofunk +- electronic rock: + - alternative dance: + - baggy + - madchester + - electronicore + - ethereal wave + - new rave +- electropop +- electropunk +- emo +- enka +- eurodance: + - bubblegum dance + - italo dance + - turbofolk +- europop: + - austropop + - balkan pop + - french pop + - latin pop + - laïkó + - nederpop + - russian pop +- experimental pop +- experimental rock +- experimental: + - experimental music +- fann at-tanbura +- field recording +- fijiri +- filmi +- folk metal: + - celtic metal + - medieval metal +- folk punk: + - celtic punk + - gypsy punk +- folk rock +- folk: + - filk music + - folk music +- folktronica +- footwork +- forró +- fourth world: + - ethnic ambient + - tribal ambient +- franco-country +- freak folk +- free jazz + - free funk + - free improvisation +- freestyle house +- freestyle rap +- freestyle: + - freestyle music +- french house +- frevo +- fuji music +- funk carioca +- funk metal +- funk: + - deep funk + - go-go +- funky house +- g-funk +- gabber +- gamelan +- gangsta rap +- garage rock +- garage: + - 4x4 + - bassline + - breakstep + - funky + - speed garage +- genge +- ghetto house +- ghettotech +- glam metal +- glam rock +- glitch-hop +- glitch: + - clicks 'n' cuts +- goa: + - dark psytranceon + - goa trance + - psybreaks + - psyprog +- gospel blues +- goth rock: + - gothic rock +- gothic metal +- grime +- grindcore: + - crustgrind + - noisegrind +- grunge: + - post-grunge +- gulf and western +- gypsy jazz +- happy hardcore +- hard bop +- hard rock +- hardbag +- hardcore punk: + - street punk +- hellbilly music +- hi-nrg: + - eurobeat + - hard nrg + - new beat +- highlife +- hill country blues +- hip house +- hip-hop: + - alternative hip hop + - avant-garde hip hop + - chap hop + - chicago hip hop + - conscious hip hop + - detroit hip hop + - hip hop + - hip hop soul + - hip pop + - horrorcore + - hyphy + - jazz rap + - low bap + - lyrical hip hop + - merenrap + - motswako + - new jack swing + - new school hip hop + - old school hip hop + - political hip hop + - rap opera + - songo-salsa + - st. louis hip hop + - twin cities hip hop + - underground hip hop + - urban pasifika +- hiplife +- hokum +- hokum blues +- hong kong english pop +- honky tonk +- horror punk +- house +- houston hip hop: + - chopped and screwed +- idm +- illbient +- indian pop +- indie folk +- indie pop: + - dunedin sound + - twee pop +- indie rock +- indietronica +- industrial +- industrial dance +- industrial folk +- industrial hip hop +- industrial metal: + - neue deutsche härte +- industrial rock +- instrumental country +- instrumental hip hop +- iranian pop +- isicathamiya +- isolationism +- italo disco +- italo house +- j-pop +- jazz blues +- jazz fusion: + - fusion + - fusion jazz +- jazz rock +- jazz-funk +- jazz: + - british dance band + - crossover jazz + - cubop + - ethno jazz + - european free jazz + - m-base + - mainstream jazz + - novelty ragtime + - orchestral jazz + - shibuya-kei + - stride jazz + - third stream + - trad jazz + - vocal jazz + - west coast gypsy jazz + - west coast jazz +- jit +- jump blues +- jungle: + - oldschool jungle: + - darkside jungle + - ragga jungle +- jùjú +- k-pop: + - korean pop +- kansas city blues +- kansas city jazz +- kapuka +- kayōkyoku +- khaliji +- kizomba +- kosmische: + - kraut rock + - krautrock +- kuduro +- kwaito +- kwela +- lambada +- latin house +- latin jazz +- latin: + - chicha + - criolla + - cumbia + - huayno + - mariachi + - ranchera + - tejano +- live coding +- liwa +- lo-fi +- louisiana blues +- lounge: + - lounge music +- lovers rock +- lowercase +- lubbock sound +- luk thung: + - luk krung +- makossa +- maloya +- mambo +- mandopop +- manila sound +- maracatu +- marrabenta +- martial industrial +- mass +- math rock +- mbalax +- mbaqanga +- mbube +- melodic death metal +- memphis blues +- metal: + - heavy metal +- metalcore: + - deathcore + - mathcore: + - djent +- mexican pop +- miami bass +- minimal house +- minimal techno +- minimal wave +- modal jazz +- modern classical: + - contemporary classical +- morlam +- morna +- museve +- musique concrète: + - tape music +- méringue: + - merengue +- música popular brasileira +- música sertaneja +- nashville sound +- neo soul +- neo-bop jazz +- neo-psychedelia +- neo-swing +- neofolk +- neotraditional country +- nerdcore +- new age: + - new age music + - new-age + - new-age music +- new wave +- no wave +- noise pop +- noise rock +- noise: + - harsh noise + - japanoise + - noise music +- northern soul +- nu metal +- onkyokei +- opera +- oratorio +- organum +- outlaw country +- p-funk +- pagode +- palm-wine +- piano blues +- piedmont blues +- pinoy pop +- pop punk +- pop rock +- pop sunda +- pop: + - jangle pop + - latin ballad + - levenslied + - louisiana swamp pop + - motorpop + - new romanticism + - pop rap + - popera + - schlager + - sophisti-pop + - sunshine pop + - traditional pop music + - vispop + - wonky pop +- post-bop +- post-disco: + - dance-pop +- post-hardcore +- post-punk +- post-punk revival +- post-rock: + - post-metal +- power electronics +- power metal +- power noise +- powerviolence +- progressive country +- progressive electronic: + - progressive breaks + - progressive drum & bass + - progressive house/trance: + - disco house + - dream house + - space house + - progressive techno +- progressive folk +- progressive house +- progressive metal +- progressive rock: + - canterbury scene + - new prog + - rock in opposition +- psychedelic folk +- psychedelic pop +- psychedelic rock: + - acid rock + - freakbeat + - raga rock +- psychobilly +- psychobilly +- punk blues +- punk jazz +- punk: + - anarcho punk: + - crust punk: + - d-beat + - art punk + - christian punk + - deathrock + - garage punk + - skate punk +- punta +- punta rock +- r&b: + - rhythm and blues +- ragga: + - raggamuffin +- ragini +- ragtime +- rap rock: + - rap metal + - rapcore +- rasin +- rave: + - rave music +- raï +- red dirt +- reggae: + - 2 tone + - reggae en español: + - reggae 110 + - reggae bultrón + - romantic flow + - spanish reggae + - reggae fusion +- reggaeton +- requiem +- riot grrrl +- rock and roll +- rock: + - art rock + - beat music + - chinese rock + - dark cabaret + - desert rock + - paisley underground + - power pop + - visual kei: + - nagoya kei +- rockabilly +- rocksteady +- roots reggae +- sacred music: + - cantique +- gregorian chant +- sadcore +- sakara +- salsa +- samba +- samba rock +- sawt +- screamo +- sega +- seggae +- semba +- sertanejo +- shoegaze +- ska +- ska jazz +- ska punk: + - ska-core +- slowcore +- sludge metal +- smooth jazz +- soca +- soft rock +- son +- sonata +- soukous +- soul +- soul blues +- soul jazz +- south and southeast asian: + - baila + - bhangra + - bhojpuri + - dangdut + - lavani +- southern hip hop +- southern rock +- space age pop +- space disco: + - cosmic disco +- space rock +- speed metal +- speedcore +- st. louis blues +- stoner metal +- stoner rock +- straight-ahead jazz +- sufi rock +- sung poetry +- surf pop +- surf rock +- swamp blues +- swing +- swing house +- symphonic metal +- synthcore +- synthpop +- synthpunk +- taarab +- taiwanese pop +- tech house +- technical death metal +- techno-folk +- techno: + - free tekno + - nortec + - schranz + - techno-dnb + - tecno brega + - toytown techno +- technopop +- tecnobrega +- teen pop +- terrorcore +- texas blues +- texas country +- thai pop +- thrash metal: + - crossover thrash + - groove metal + - thrash +- thrashcore +- timba +- traditional country music +- trance: + - acid trance + - classic trance + - dream trance + - hard trance + - progressive trance + - psychedelic trance + - psytrance + - tech trance + - uplifting trance: + - orchestral uplifting + - vocal trance +- trap +- trip-hop: + - trip hop +- tropicalia +- truck-driving country +- turkish pop +- turntablism +- twoubadou +- uk garage +- uk hard house +- us garage +- vaporwave +- vocal house +- west coast blues +- west coast hip hop: + - chicano rap + - jerkin' +- western swing +- witch house +- world: + - world music +- worldbeat +- world fusion +- zouglou +- zouk +- zouk-lambada +- zydeco diff --git a/multimedia/.config/beets/lastgenre_whitelist.txt b/multimedia/.config/beets/lastgenre_whitelist.txt new file mode 100644 index 0000000..fd5bdd5 --- /dev/null +++ b/multimedia/.config/beets/lastgenre_whitelist.txt @@ -0,0 +1,491 @@ +2-step +acapella +acid +acid house +acid jazz +acid techno +adult contemporary +african +african blues +african heavy metal +african hip hop +afrobeat +aggrotech +alternative country +alternative metal +alternative rock +ambient +ambient dub +ambient house +ambient space jazz +ambient techno +american folk revival +americana +anison +anti-folk +apala +arab pop +asian underground +atlanta hip hop +australian country music +avant-garde +avant-garde jazz +axé +bachata +baithak gana +bakersfield sound +balearic beat +ballet +baltimore club +barbershop +baroque pop +baroque +bebop +benga +berlin school +big band +big beat +bikutsi +black metal +blue-eyed soul +bluegrass +blues +blues country +blues rock +blues shouter +bolero +bongo flava +boogie +boogie-woogie +bossa nova +bounce music +brazilian +brazilian rock +breakbeat +breakcore +brega +british blues +british folk revival +britpop +bubblegum pop +c-pop +cajun +calypso +canadian blues +cantata +cape jazz +celtic music +chamber jazz +chamber music +chanson +chicago blues +chicago house +chillwave +chimurenga +chiptune +choro +christian country music +christian hip hop +christian metal +christian pop +christian rock +chutney +chutney soca +classic country +classical crossover +classical +close harmony +coldwave +comedy +compas +computer music +concerto +contemporary folk +contemporary r&b +continental jazz +cool jazz +country +country blues +country pop +country rap +country rock +country soul +country-rap +coupé-décalé +cowpunk +crunkcore +cybergrind +dance-punk +dance-rock +dancehall +dansband music +dark ambient +dark electro +darkwave +death industrial +death metal +deconstructed club +deep house +deep techno +delta blues +detroit blues +detroit techno +digital hardcore +disco +diva house +dixieland +doo wop +doom metal +doomcore +downtempo +dream pop +drone metal +drone +drum and bass +dub poetry +dub techno +dub +dubstep +dubtronica +dungeon synth +dutch house +east coast hip hop +easy listening +ebm +edm +electric blues +electro +electro house +electro-grime +electro-industrial +electroacoustic +electroclash +electrofunk +electronic rock +electropop +electropunk +emo +enka +eurodance +europop +experimental pop +experimental rock +experimental +fann at-tanbura +field recording +fijiri +filmi +folk metal +folk punk +folk rock +folk +folktronica +footwork +forró +fourth world +franco-country +freak folk +free jazz +freestyle house +freestyle rap +freestyle +french house +frevo +fuji music +funk carioca +funk metal +funk +funky house +g-funk +gabber +gamelan +gangsta rap +garage rock +garage +genge +ghetto house +ghettotech +glam metal +glam rock +glitch-hop +glitch +goa +gospel blues +goth rock +gothic metal +grime +grindcore +grunge +gulf and western +gypsy jazz +happy hardcore +hard bop +hard rock +hardbag +hardcore punk +hellbilly music +hi-nrg +highlife +hill country blues +hip house +hip-hop +hiplife +hokum +hokum blues +hong kong english pop +honky tonk +horror punk +house +houston hip hop +idm +illbient +indian pop +indie folk +indie pop +indie rock +indietronica +industrial +industrial dance +industrial folk +industrial hip hop +industrial metal +industrial rock +instrumental country +instrumental hip hop +iranian pop +isicathamiya +isolationism +italo disco +italo house +j-pop +jazz blues +jazz fusion +jazz rock +jazz-funk +jazz +jit +jump blues +jungle +jùjú +k-pop +kansas city blues +kansas city jazz +kapuka +kayōkyoku +khaliji +kizomba +kosmische +kuduro +kwaito +kwela +lambada +latin house +latin jazz +latin +live coding +liwa +lo-fi +louisiana blues +lounge +lovers rock +lowercase +lubbock sound +luk thung +makossa +maloya +mambo +mandopop +manila sound +maracatu +marrabenta +martial industrial +mass +math rock +mbalax +mbaqanga +mbube +melodic death metal +memphis blues +metal +metalcore +mexican pop +miami bass +minimal house +minimal techno +minimal wave +modal jazz +modern classical +morlam +morna +museve +musique concrète +méringue +música popular brasileira +música sertaneja +nashville sound +neo soul +neo-bop jazz +neo-psychedelia +neo-swing +neofolk +neotraditional country +nerdcore +new age +new wave +no wave +noise pop +noise rock +noise +northern soul +nu metal +onkyokei +opera +oratorio +organum +outlaw country +p-funk +pagode +palm-wine +piano blues +piedmont blues +pinoy pop +pop punk +pop rock +pop sunda +pop +post-bop +post-disco +post-hardcore +post-punk +post-punk revival +post-rock +power electronics +power metal +power noise +powerviolence +progressive country +progressive electronic +progressive folk +progressive house +progressive metal +progressive rock +psychedelic folk +psychedelic pop +psychedelic rock +psychobilly +psychobilly +punk blues +punk jazz +punk +punta +punta rock +r&b +ragga +ragini +ragtime +rap rock +rasin +rave +raï +red dirt +reggae +reggaeton +requiem +riot grrrl +rock and roll +rock +rockabilly +rocksteady +roots reggae +sacred music +sadcore +sakara +salsa +samba +samba rock +sawt +screamo +sega +seggae +semba +sertanejo +shoegaze +ska +ska jazz +ska punk +slowcore +sludge metal +smooth jazz +soca +soft rock +son +sonata +soukous +soul +soul blues +soul jazz +south and southeast asian +southern hip hop +southern rock +space age pop +space disco +space rock +speed metal +speedcore +st. louis blues +stoner metal +stoner rock +straight-ahead jazz +sufi rock +sung poetry +surf pop +surf rock +swamp blues +swing +swing house +symphonic metal +synthcore +synthpop +synthpunk +taarab +taiwanese pop +tech house +technical death metal +techno-folk +techno +technopop +tecnobrega +teen pop +terrorcore +texas blues +texas country +thai pop +thrash metal +thrashcore +timba +traditional country music +trance +trap +trip-hop +tropicalia +truck-driving country +turkish pop +turntablism +twoubadou +uk garage +uk hard house +us garage +vaporwave +vocal house +west coast blues +west coast hip hop +western swing +witch house +world +worldbeat +world fusion +gregorian chant +zouglou +zouk +zouk-lambada +zydeco diff --git a/multimedia/.config/mopidy/mopidy.conf b/multimedia/.config/mopidy/mopidy.conf new file mode 100644 index 0000000..c43d906 --- /dev/null +++ b/multimedia/.config/mopidy/mopidy.conf @@ -0,0 +1,261 @@ +# For further information about options in this file see: +# https://docs.mopidy.com/ +# +# The initial commented out values reflect the defaults as of: +# Mopidy 3.4.1 +# Mopidy-Bandcamp 1.1.5 +# Mopidy-File 3.4.1 +# Mopidy-HTTP 3.4.1 +# Mopidy-Iris 3.65.0 +# Mopidy-Local 3.2.1 +# Mopidy-M3U 3.4.1 +# Mopidy-MPD 3.3.0 +# Mopidy-MPRIS 3.0.3 +# Mopidy-Scrobbler 2.0.1 +# Mopidy-SoftwareMixer 3.4.1 +# Mopidy-SomaFM 2.0.2 +# Mopidy-Spotify 4.1.1 +# Mopidy-Stream 3.4.1 +# Mopidy-YouTube 3.5 +# +# Available options and defaults might have changed since then, +# run `mopidy config` to see the current effective config and +# `mopidy --version` to check the current version. + +[core] +#cache_dir = $XDG_CACHE_DIR/mopidy +#config_dir = $XDG_CONFIG_DIR/mopidy +#data_dir = $XDG_DATA_DIR/mopidy +#max_tracklist_length = 10000 +#restore_state = false + +[logging] +#verbosity = 0 +#format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s +#color = true +#config_file = + +[audio] +#mixer = software +#mixer_volume = +#output = autoaudiosink +#buffer_time = + +[proxy] +#scheme = +#hostname = +#port = +#username = +#password = + +[spotify] +enabled = false +#username = +#password = +#client_id = +#client_secret = +#bitrate = 160 +#volume_normalization = true +#private_session = false +timeout = 5000 +#allow_cache = true +#allow_network = true +#allow_playlists = true +#search_album_count = 20 +#search_artist_count = 10 +#search_track_count = 50 +#toplist_countries = + +[iris] +#enabled = true +#country = NZ +#locale = en_NZ +#verify_certificates = true +#snapcast_enabled = true +#snapcast_host = localhost +#snapcast_port = 1780 +#snapcast_ssl = false +#snapcast_stream = Default +#spotify_authorization_url = https://jamesbarnsley.co.nz/iris/auth_spotify.php +#lastfm_authorization_url = https://jamesbarnsley.co.nz/iris/auth_lastfm.php +#genius_authorization_url = https://jamesbarnsley.co.nz/iris/auth_genius.php +#data_dir = $XDG_DATA_DIR/iris + +[file] +enabled = false +#media_dirs = +# $XDG_MUSIC_DIR|Music +# ~/|Home +#excluded_file_extensions = +# .directory +# .html +# .jpeg +# .jpg +# .log +# .nfo +# .pdf +# .png +# .txt +# .zip +#show_dotfiles = false +#follow_symlinks = false +#metadata_timeout = 1000 + +[http] +#enabled = true +#hostname = 127.0.0.1 +#port = 6680 +#zeroconf = Mopidy HTTP server on $hostname +#allowed_origins = +#csrf_protection = true +#default_app = mopidy + +[m3u] +#enabled = true +#base_dir = $XDG_MUSIC_DIR +#default_encoding = latin-1 +#default_extension = .m3u8 +#playlists_dir = + +[softwaremixer] +#enabled = true + +[stream] +#enabled = true +#protocols = +# http +# https +# mms +# rtmp +# rtmps +# rtsp +#metadata_blacklist = +#timeout = 5000 + +[mpd] +#enabled = true +#hostname = 127.0.0.1 +#port = 6600 +#password = +#max_connections = 20 +#connection_timeout = 60 +#zeroconf = Mopidy MPD server on $hostname +#command_blacklist = +# listall +# listallinfo +#default_playlist_scheme = m3u + +[local] +#enabled = true +#max_search_results = 100 +media_dir = $XDG_MUSIC_DIR +#scan_timeout = 1000 +#scan_flush_threshold = 100 +#scan_follow_symlinks = false +#included_file_extensions = +#excluded_file_extensions = +# .cue +# .directory +# .html +# .jpeg +# .jpg +# .log +# .nfo +# .pdf +# .png +# .txt +# .zip +#directories = +# Albums local:directory?type=album +# Artists local:directory?type=artist +# Composers local:directory?type=artist&role=composer +# Genres local:directory?type=genre +# Performers local:directory?type=artist&role=performer +# Release Years local:directory?type=date&format=%25Y +# Tracks local:directory?type=track +# Last Week's Updates local:directory?max-age=604800 +# Last Month's Updates local:directory?max-age=2592000 +#timeout = 10 +#use_artist_sortname = false +#album_art_files = +# *.jpg +# *.jpeg +# *.png + +[mpris] +#enabled = true +#bus_type = session + +[scrobbler] +#enabled = true +#username = +#password = + +[somafm] +#enabled = true +#encoding = mp3 +#quality = fast +dj_as_artist = false + +[youtube] +#enabled = true +allow_cache = true +#youtube_api_key = +#search_results = 15 +#playlist_max_videos = 20 +#api_enabled = false +#channel_id = +#musicapi_enabled = false +#musicapi_cookie = +#autoplay_enabled = false +#strict_autoplay = false +#max_autoplay_length = 600 +#max_degrees_of_separation = 3 +youtube_dl_package = yt-dlp + +[bandcamp] +enabled = false +#discover_pages = 1 +#collection_items = 50 +discover_genres = +# All +# Electronic +# Rock +# Metal +# Alternative +# Hip-Hop/Rap +# Experimental +# Punk +# Folk +# Pop +# Ambient +# Soundtrack +# World +# Jazz +# Acoustic +# Funk +# R&B/Soul +# Devotional +# Classical +# Reggae +# Podcasts +# Country +# Spoken Word +# Comedy +# Blues +# Kids +# Audiobooks +# Latin +discover_tags = + Outrun + Future Funk + Alternative Hip-Hop + Cozy Synth + Post Metal + Post Punk +# Tokyo, Japan +#image_sizes = +# 10 +# 5 +# 2 +#identity = diff --git a/multimedia/.config/ncmpcpp/bindings b/multimedia/.config/ncmpcpp/bindings new file mode 100644 index 0000000..0c8a6ad --- /dev/null +++ b/multimedia/.config/ncmpcpp/bindings @@ -0,0 +1,630 @@ + +def_key "+" + show_clock +def_key "=" + volume_up + +def_key "j" + scroll_down +def_key "k" + scroll_up +def_key "ctrl-u" + page_up +def_key "ctrl-d" + page_down +def_key "u" + page_up +def_key "d" + page_down +def_key "h" + previous_column +def_key "l" + next_column +def_key "." + show_lyrics +def_key "n" + next_found_item +def_key "N" + previous_found_item +# not used but bound +def_key "J" + move_selected_items_down +def_key "K" + move_selected_items_up +def_key "h" + jump_to_parent_directory +def_key "l" + enter_directory +def_key "l" + run_action +def_key "l" + play_item +def_key "m" + show_media_library +def_key "m" + toggle_media_library_columns_mode +def_key "t" + select_item + scroll_down +def_key "v" + select_range +def_key "ctrl-v" + select_item +def_key "V" + remove_selection +def_key "G" + move_end +def_key "g" + move_home +def_key "U" + update_database +def_key "s" + reset_search_engine +def_key "s" + show_search_engine +#def_key "f" +# show_browser +#def_key "f" +# change_browse_mode +def_key "x" + delete_playlist_items +def_key "P" + move_selected_items_to +def_key "f" + seek_forward +def_key "b" + seek_backward +def_key "'" + jump_to_playing_song + +############################################################## +## This is the example bindings file. Copy it to ## +## $XDG_CONFIG_HOME/ncmpcpp/bindings or ~/.ncmpcpp/bindings ## +## and set up your preferences. ## +############################################################## +## +##### General rules ##### +## +## 1) Because each action has runtime checks whether it's +## ok to run it, a few actions can be bound to one key. +## Actions will be bound in order given in configuration +## file. When a key is pressed, first action in order +## will test itself whether it's possible to run it. If +## test succeeds, action is executed and other actions +## bound to this key are ignored. If it doesn't, next +## action in order tests itself etc. +## +## 2) It's possible to bind more that one action at once +## to a key. It can be done using the following syntax: +## +## def_key "key" +## action1 +## action2 +## ... +## +## This creates a chain of actions. When such chain is +## executed, each action in chain is run until the end of +## chain is reached or one of its actions fails to execute +## due to its requirements not being met. If multiple actions +## and/or chains are bound to the same key, they will be +## consecutively run until one of them gets fully executed. +## +## 3) When ncmpcpp starts, bindings configuration file is +## parsed and then ncmpcpp provides "missing pieces" +## of default keybindings. If you want to disable some +## bindings, there is a special action called 'dummy' +## for that purpose. Eg. if you want to disable ability +## to crop playlists, you need to put the following +## into configuration file: +## +## def_key "C" +## dummy +## +## After that ncmpcpp will not bind any default action +## to this key. +## +## 4) To let you write simple macros, the following special +## actions are provided: +## +## - push_character "character" - pushes given special +## character into input queue, so it will be immediately +## picked by ncmpcpp upon next call to readKey function. +## Accepted values: mouse, up, down, page_up, page_down, +## home, end, space, enter, insert, delete, left, right, +## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\, +## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace. +## In addition, most of these names can be prefixed with +## alt-/ctrl-/shift- to be recognized with the appropriate +## modifier key(s). +## +## - push_characters "string" - pushes given string into +## input queue. +## +## - require_runnable "action" - checks whether given action +## is runnable and fails if it isn't. This is especially +## useful when mixed with previous two functions. Consider +## the following macro definition: +## +## def_key "key" +## push_characters "custom_filter" +## apply_filter +## +## If apply_filter can't be currently run, we end up with +## sequence of characters in input queue which will be +## treated just as we typed them. This may lead to unexpected +## results (in this case 'c' will most likely clear current +## playlist, 'u' will trigger database update, 's' will stop +## playback etc.). To prevent such thing from happening, we +## need to change above definition to this one: +## +## def_key "key" +## require_runnable "apply_filter" +## push_characters "custom_filter" +## apply_filter +## +## Here, first we test whether apply_filter can be actually run +## before we stuff characters into input queue, so if condition +## is not met, whole chain is aborted and we're fine. +## +## - require_screen "screen" - checks whether given screen is +## currently active. accepted values: browser, clock, help, +## media_library, outputs, playlist, playlist_editor, +## search_engine, tag_editor, visualizer, last_fm, lyrics, +## selected_items_adder, server_info, song_info, +## sort_playlist_dialog, tiny_tag_editor. +## +## - run_external_command "command" - runs given command using +## system() function. +## +## - run_external_console_command "command" - runs given console +## command using system() function. +## +## +## 5) In addition to binding to a key, you can also bind actions +## or chains of actions to a command. If it comes to commands, +## syntax is very similar to defining keys. Here goes example +## definition of a command: +## +## def_command "quit" [deferred] +## stop +## quit +## +## If you execute the above command (which can be done by +## invoking action execute_command, typing 'quit' and pressing +## enter), ncmpcpp will stop the player and then quit. Note the +## presence of word 'deferred' enclosed in square brackets. It +## tells ncmpcpp to wait for confirmation (ie. pressing enter) +## after you typed quit. Instead of 'deferred', 'immediate' +## could be used. Then ncmpcpp will not wait for confirmation +## (enter) and will execute the command the moment it sees it. +## +## Note: while command chains are executed, internal environment +## update (which includes current window refresh and mpd status +## update) is not performed for performance reasons. However, it +## may be desirable to do so in some situration. Therefore it's +## possible to invoke by hand by performing 'update enviroment' +## action. +## +## Note: There is a difference between: +## +## def_key "key" +## action1 +## +## def_key "key" +## action2 +## +## and +## +## def_key "key" +## action1 +## action2 +## +## First one binds two single actions to the same key whilst +## second one defines a chain of actions. The behavior of +## these two is different and is described in (1) and (2). +## +## Note: Function def_key accepts non-ascii characters. +## +##### List of unbound actions ##### +## +## The following actions are not bound to any key/command: +## +## - set_volume +## - load +## +# +#def_key "mouse" +# mouse_event +# +#def_key "up" +# scroll_up +# +#def_key "shift-up" +# select_item +# scroll_up +# +#def_key "down" +# scroll_down +# +#def_key "shift-down" +# select_item +# scroll_down +# +#def_key "[" +# scroll_up_album +# +#def_key "]" +# scroll_down_album +# +#def_key "{" +# scroll_up_artist +# +#def_key "}" +# scroll_down_artist +# +#def_key "page_up" +# page_up +# +#def_key "page_down" +# page_down +# +#def_key "home" +# move_home +# +#def_key "end" +# move_end +# +#def_key "insert" +# select_item +# +#def_key "enter" +# enter_directory +# +#def_key "enter" +# toggle_output +# +#def_key "enter" +# run_action +# +#def_key "enter" +# play_item +# +#def_key "space" +# add_item_to_playlist +# +#def_key "space" +# toggle_lyrics_update_on_song_change +# +#def_key "space" +# toggle_visualization_type +# +#def_key "delete" +# delete_playlist_items +# +#def_key "delete" +# delete_browser_items +# +#def_key "delete" +# delete_stored_playlist +# +#def_key "right" +# next_column +# +#def_key "right" +# slave_screen +# +#def_key "right" +# volume_up +# +#def_key "+" +# volume_up +# +#def_key "left" +# previous_column +# +#def_key "left" +# master_screen +# +#def_key "left" +# volume_down +# +#def_key "-" +# volume_down +# +#def_key ":" +# execute_command +# +#def_key "tab" +# next_screen +# +#def_key "shift-tab" +# previous_screen +# +#def_key "f1" +# show_help +# +#def_key "1" +# show_playlist +# +#def_key "2" +# show_browser +# +#def_key "2" +# change_browse_mode +# +#def_key "3" +# show_search_engine +# +#def_key "3" +# reset_search_engine +# +#def_key "4" +# show_media_library +# +#def_key "4" +# toggle_media_library_columns_mode +# +#def_key "5" +# show_playlist_editor +# +#def_key "6" +# show_tag_editor +# +#def_key "7" +# show_outputs +# +#def_key "8" +# show_visualizer +# +#def_key "=" +# show_clock +# +#def_key "@" +# show_server_info +# +#def_key "s" +# stop +# +#def_key "p" +# pause +# +#def_key ">" +# next +# +#def_key "<" +# previous +# +#def_key "ctrl-h" +# jump_to_parent_directory +# +#def_key "ctrl-h" +# replay_song +# +#def_key "backspace" +# jump_to_parent_directory +# +#def_key "backspace" +# replay_song +# +#def_key "backspace" +# play +# +#def_key "f" +# seek_forward +# +#def_key "b" +# seek_backward +# +#def_key "r" +# toggle_repeat +# +#def_key "z" +# toggle_random +# +#def_key "y" +# save_tag_changes +# +#def_key "y" +# start_searching +# +#def_key "y" +# toggle_single +# +#def_key "R" +# toggle_consume +# +#def_key "Y" +# toggle_replay_gain_mode +# +#def_key "T" +# toggle_add_mode +# +#def_key "|" +# toggle_mouse +# +#def_key "#" +# toggle_bitrate_visibility +# +#def_key "Z" +# shuffle +# +#def_key "x" +# toggle_crossfade +# +#def_key "X" +# set_crossfade +# +#def_key "u" +# update_database +# +#def_key "ctrl-s" +# sort_playlist +# +#def_key "ctrl-s" +# toggle_browser_sort_mode +# +#def_key "ctrl-s" +# toggle_media_library_sort_mode +# +#def_key "ctrl-r" +# reverse_playlist +# +#def_key "ctrl-f" +# apply_filter +# +#def_key "ctrl-_" +# select_found_items +# +#def_key "/" +# find +# +#def_key "/" +# find_item_forward +# +#def_key "?" +# find +# +#def_key "?" +# find_item_backward +# +#def_key "." +# next_found_item +# +#def_key "," +# previous_found_item +# +#def_key "w" +# toggle_find_mode +# +#def_key "e" +# edit_song +# +#def_key "e" +# edit_library_tag +# +#def_key "e" +# edit_library_album +# +#def_key "e" +# edit_directory_name +# +#def_key "e" +# edit_playlist_name +# +#def_key "e" +# edit_lyrics +# +#def_key "i" +# show_song_info +# +#def_key "I" +# show_artist_info +# +#def_key "g" +# jump_to_position_in_song +# +#def_key "l" +# show_lyrics +# +#def_key "ctrl-v" +# select_range +# +#def_key "v" +# reverse_selection +# +#def_key "V" +# remove_selection +# +#def_key "B" +# select_album +# +#def_key "a" +# add_selected_items +# +#def_key "c" +# clear_playlist +# +#def_key "c" +# clear_main_playlist +# +#def_key "C" +# crop_playlist +# +#def_key "C" +# crop_main_playlist +# +#def_key "m" +# move_sort_order_up +# +#def_key "m" +# move_selected_items_up +# +#def_key "n" +# move_sort_order_down +# +#def_key "n" +# move_selected_items_down +# +#def_key "M" +# move_selected_items_to +# +#def_key "A" +# add +# +#def_key "S" +# save_playlist +# +#def_key "o" +# jump_to_playing_song +# +#def_key "G" +# jump_to_browser +# +#def_key "G" +# jump_to_playlist_editor +# +#def_key "~" +# jump_to_media_library +# +#def_key "E" +# jump_to_tag_editor +# +#def_key "U" +# toggle_playing_song_centering +# +#def_key "P" +# toggle_display_mode +# +#def_key "\\" +# toggle_interface +# +#def_key "!" +# toggle_separators_between_albums +# +#def_key "L" +# toggle_lyrics_fetcher +# +#def_key "F" +# fetch_lyrics_in_background +# +#def_key "alt-l" +# toggle_fetching_lyrics_in_background +# +#def_key "ctrl-l" +# toggle_screen_lock +# +#def_key "`" +# toggle_library_tag_type +# +#def_key "`" +# refetch_lyrics +# +#def_key "`" +# add_random_items +# +#def_key "ctrl-p" +# set_selected_items_priority +# +#def_key "q" +# quit +# diff --git a/multimedia/.config/ncmpcpp/config b/multimedia/.config/ncmpcpp/config new file mode 100644 index 0000000..eeefbaa --- /dev/null +++ b/multimedia/.config/ncmpcpp/config @@ -0,0 +1,56 @@ +mouse_support = "yes" +jump_to_now_playing_song_at_start = "yes" +playlist_disable_highlight_delay = "3" +message_delay_time = "1" +song_window_title_format = "{%a - }{%t}|{%f}" +titles_visibility = "yes" +header_text_scrolling = "yes" +display_remaining_time = "yes" +ignore_leading_the = "yes" +colors_enabled = "yes" +color1 = "cyan" +color2 = "blue" +current_item_prefix = "$(magenta_236)" +current_item_suffix = "$(end)" +current_item_inactive_column_prefix = "$(magenta)" +current_item_inactive_column_suffix = "$(end)" + +[header] +header_visibility = "no" +# header_window_color = "magenta" +header_window_color = "default" +volume_color = "4" +# state_flags_color = "blue" +# main_window_color = "cyan" +state_line_color = "9" + +[playlist] +playlist_display_mode = "columns" #(classic/columns) +browser_display_mode = "columns" #(classic/columns) +song_columns_list_format = "(33)[cyan]{t} (32)[green]{a} (30)[magenta]{b} (5f)[blue]{l}" +song_list_format = "{%a - }{%t}|{$5%f$9}$R{$7(%l)$9}" +now_playing_prefix = "$b" +now_playing_suffix = "$/b" +browser_playlist_prefix = "$1»$1 " + +[statusbar] +#progressbar_look = "─╼" (Alternative look) +progressbar_look = "━━━" +progressbar_color = "9" +statusbar_visibility = "yes" +progressbar_elapsed_color = "4" +statusbar_color = "cyan" +song_status_format = "$5$b%t $5$/b• $3%a $5• $6%b {(Disc %d) }$5• $4%y" + +[library] +song_library_format = "{{%a - %t}|{%f}}{$R%l}" +empty_tag_marker = "" +empty_tag_color = "9" + +[global] +user_interface = "alternative" #(classic/alternative) +main_window_color = "default" +centered_cursor = "yes" +enable_window_title = "yes" +external_editor = "nvim" +execute_on_song_change="notify-send "Now Playing ♫" "$(playerctl metadata artist): $(playerctl metadata title)" -i $HOME/.local/share/mopidy/local/images/$(playerctl metadata mpris:artUrl | sed -e 's|/local/||')"