• Stars
    star
    152
  • Rank 244,685 (Top 5 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

very tiny music player

orchid

โ€œWhat does an orchid have to do with playing music? You sort of get tons of orchids in the jungle and they require very little water to live. You should name it after some musical instrument, but that's probably already taken.โ€

Very tiny MP3 player for my needs. Mostly an excuse for me to learn how to use termbox (after being inspired by Brandon Rhode's talk on terminal animations), as well as how to write my own UI loop. Start it up in a directory where there are MP3 files, and orchid will do the rest:

$ git clone https://github.com/eugene-eeo/orchid
$ cd orchid
$ make install
$ cd totally-legit-music
$ orchid -h

Ideally ran in a terminal with size 50x8; you could run it on something larger, but it doesn't respond to larger/smaller sizes. You'll need a terminal with true-colour support (see iTerm on OSX) for the album art to display properly.

prerequisites

Requires golang/dep and hajemoshi/oto so make sure you can follow the instructions (especially on Linux/FreeBSD).

screenshots

Screenshots are taken in iTerm with vertical and horizontal margin 15 and title-less windows. Font used is 14px Iosevka Term with the Twilight colour profile.

controls

  • r toggle repeat song/playlist
  • <left> / <right> to adjust volume
  • <space> pause/play
  • f find mode
    • <enter> confirm selection
    • <esc> cancel
  • s toggle shuffle mode
  • n next track
  • p prev track
  • q quit

future plans

  • Split it in to a client-server architecture (like mpd).
  • More customizable UI.

More Repositories

1

mailthon

elegant email sending for Python
Python
196
star
2

graphlite

embedded graph datastore
Python
184
star
3

stateless.js

simpler pushstate
JavaScript
133
star
4

tinyrecord

transaction support for TinyDB
Python
93
star
5

evee.js

Modern event binding
JavaScript
28
star
6

korah.js

โ€ผ๏ธ declarative DOM building
JavaScript
25
star
7

octopi

๐Ÿ™ trie based suggestions microlibrary
JavaScript
25
star
8

tinyindex

indexes for tinydb
Python
12
star
9

psync

some p2p thing
Go
11
star
10

closurepr

a better repr for closures
Python
11
star
11

tmux-badges

DRYer badges for tmux
Shell
10
star
12

rope

ropes for golang
Go
10
star
13

nut.js

super simple querySelectorAll wrapper
JavaScript
8
star
14

scell

wrapper around select
Python
7
star
15

slouch

simple launcher using fzf
Shell
6
star
16

signalsdb

query unix signals
Python
6
star
17

hydra

simple multiplexing daemon
Go
5
star
18

vivaldi-go

golang vivaldi coordinates
Go
5
star
19

harlequin

email.mime for the sane
Python
4
star
20

monocypher-py

monocypher bindings for python
C
4
star
21

vclock

vector clock for python
Python
4
star
22

xfs

full text search for files (wip)
Go
4
star
23

promises

type checking for Python
Python
3
star
24

prudent

lazy data structures
Python
3
star
25

dotfiles

My bash and vim settings
C
3
star
26

spheres-from-triangles

creating spheres from triangles
Python
2
star
27

minke.js

๐Ÿณ keyboard shortcuts for humans
JavaScript
2
star
28

crunch-crdt-benchmarks

some crdt benchmarks
JavaScript
1
star
29

bisect.js

Interval Bisection equation solver
JavaScript
1
star
30

rmbd

lets nodes (almost) remember stuff together
Python
1
star
31

kaze

้ขจ - tiny notification daemon
Go
1
star
32

geisha

music playing daemon
Go
1
star
33

rscp

really slow compression package
Python
1
star
34

ai-search-assignment

durham university ai search assignment 2018/19
Go
1
star
35

xhr.js

super tiny xhr
JavaScript
1
star
36

subtle

wip oo language
C
1
star
37

exthread

supercharged threads
Python
1
star
38

ichi

monocypher fun
C
1
star
39

gotools

Command line utilities written in Go
Go
1
star
40

minitube

full page video player
HTML
1
star
41

noterender

renders notes in markdown ๐Ÿ”ฎ
Go
1
star
42

txnmap.js

transactional map for js
JavaScript
1
star
43

flaked

Go
1
star
44

qd-quadtree

experiment in quadtree-ifying triangular meshes
Go
1
star
45

soda-rz

๐Ÿป soda dungeon first round damage estimator
Go
1
star
46

maze-transform

maze as 2d array of booleans => graph
Python
1
star
47

kingpin

poc ssh ca automation
Go
1
star