maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Multimedia (https://talk.maemo.org/forumdisplay.php?f=32)
-   -   [M4+5] oscp - multiplatform player for (almost) any file format and network streams (using libav/ffmpeg and others), now with pygtk GUI (https://talk.maemo.org/showthread.php?t=94590)

KotCzarny 2015-02-09 07:41

[N8x0/N900] oscp - multiplatform player for (almost) any file format and network streams (using libav/ffmpeg and others), now with pygtk GUI
 
5 Attachment(s)
hello!

i've finally gotten around to compile my own player for n8x0/n900/pc/sbc. right now it uses ncurses (terminal) or pygtk (gui) interface, easy to navigate with cursor keys. what can you use it for? well, you can play music in terminal or.. you can connect your device to stereo and control it via network remote!

for recent pc (x86/x64, linux and windows) or sbc (armhf, linux) builds check:
https://sourceforge.net/projects/oscp/files/binaries/

n8x0's build is now in diablo extras, please test and report!

n900's build is now in fremantle extras, please test and report :) (keep in mind version in fremantle/extras is quite old, so if you want latest and greatest use extras-devel)

if anyone is interested talk to me (KotCzarny) on #maemo on irc.libera.chat (webchat: https://web.libera.chat/?nick=oscp-n?#maemo )

features:
- plays local/networked files, playlists and internet streams (http://, mms://, rtsp://)
- path based search (media libraries are overrated)
- http scraper mode (loads http page, parses it for playable links and plays them)
- multiplatform (you can control maemo core from pc remote and pc core from maemo remote)
- intuitive, easy to use, fast and small (almost no dependencies (needs only libesd and/or libao))
- effects based on sox-14.4.2 (10-band equalizer, flanger, earwax, contrast(compress), reverb, overdrive, oops(karaoke))
- last.fm/libre.fm scrobbler (last.fm broken since spotify takeover)
- remembers play position
- quick fav dir keys
- unzip/unrar support
- ncurses ui with easy navigation (with mouse support)
- classic winamp skin support (with ability to load random one)
- network interface for remote commands (gtk and pygtk gui on local or remote device)
- lirc (remote) support
- many more little bits that make your audio experience smooth and comfortable

---
NEW! - please go to my next post for a manual and more info: --=> http://talk.maemo.org/showthread.php...stcount1460158 <=--
---

screenshots: ncurses on pc, pygtk remote (pc-linux, pc-windows, n800 and n900), pygtk winamp skin mode

reinob 2015-02-09 09:14

Re: oscp - console player for (almost) any file format
 
@KotCzarny

Looks like my kind of music player! :)

Any quick tutorial/manual? My volume shows "-1" and I cannot seem to find a way to make it output anything (I have to admit I didn't try much, just the obvious).

Thanks.

KotCzarny 2015-02-09 09:25

Re: oscp - console player for (almost) any file format
 
oscp manual (c) ariel/KotCzarny

Description

multiplatform player for (almost) any a/v format and network streams (using libav/ffmpeg and others),
using server--client model with GUIs available (ncurses/pygtk/native gtk)

Features

- plays multiple audio formats lossy and lossless (mp3/ogg/aac and friends)
- plays multiple game/tracker formats
- plays network streams (http://, mms://, rtsp://)
- playlists, favourites, one-key recursive playlists
- effects: based on sox-14.4.2, 10-band equalizer, flanger, earwax, contrast(compress), reverb, overdrive, oops(karaoke)
- remembers play position
- quick fav dir keys
- zip/rar/7z support
- path based browse/search (media libraries are overrated)
- ncurses ui with easy navigation (with mouse support)
- network interface for remote commands. gtk+ and pygtk gui on local or remote device. built-in server for remote control
- classic winamp skin support (with ability to load random one)
- lirc (remote) support
- http scraper mode (loads http page, parses it for playable links and plays them)
- multiplatform (you can control maemo core from pc remote and pc core from maemo remote)
- small and lightweight (almost no dependencies, needs only platform based audio library alsa/oss/esd/libao/pulse)
- last.fm/libre.fm scrobbler (last.fm broken since spotify takeover)
- lirc (remote) support
- many more little bits that make your audio experience smooth and comfortable

Usage

- cmdline/ncurses: run it (./oscp or /opt/oscp/bin/oscp or wherever you have put the binary) in terminal and use cursor keys to navigate your folders/files. By default LEFT goes to parent dir, RIGHT enters dir/playlist or plays the file.
- gui: after starting gui, it tries to connect to last used core. if it doesnt find one, you can start it by pressing gears icon (assuming 'oscp' is in your path) or connect to some already running one ('computers' icon). then use it in the same way as ncurses one (most keys should be the same)

Tips & tricks:

- check effects: shift-E - eq, shift-F - flanger, shift-V - reverb, shift-C - contrast (bumps volume without clipping), shift-W - earwax, shift-K - karaoke, shift-O - overdrive
- mrl (make-recursive-list): press ';' to recursively add all known files, starting from current directory
- run it in daemon mode (-d 1 -L 44322) on a machine connected to your stereo, then use remote gui to control it from anywhere
- ncurses: ctrl-l refreshes the window (in case contents get garbled), ctrl-r reloads current directory

Defaults

Default keybindings (configurable via config):
- quit: q,
- help: h,
- clip info: i,
- look for (search): l,
- stop: \,
- play/pause: p,
- prev: [,
- next: ],
- rewind: ",",
- fast forward: ".",
- volume decrease: -,
- volume increase: =,
- left(go parent): "LEFT",
- right(play/enter): "RIGHT",
- special meta menu: /,
- list pos up: "UP",
- list pos down: "DOWN",
- liast page up: "PGUP",
- list page down: "PGDOWN",
- list home: "HOME",
- list end: "END",
- copy file to fav-dir: "INSERT",
- delete file: "DELETE",
- make recursive list: ";",
- go to fav dir/list: 0..9,
- set current dir as fav: shift-0..9,
- repeat: r (cycles through repeat off/all/one),
- shuffle(random play): s,
- shuffle list: S,
- play vids: e
and more keys/actions available in config.


config: ~/.oscp/oscp.conf

cmdline usage: oscp [options] [path]
-A str audio dev (fe. pulse sink or libao "dev" key)
-a 0/1 autoplay off/on
-s 0/1/2 shuffle mode
-r 0/1/2 repeat off/all/single track
-E 0/1 play vids off/on
-t 0/1 display remaining time instead of current
-f 0/1/2 fullpath display
-v 0/1/2 software volume (off/exponential/linear)
-V 0..100 set volume
-l 0/1 use lineart compatible/full
-S 0/1 scrobble off/on
-L 1..65536 listen on TCP port for remote commands
-N str net acl (ip/mask space separated, ex:
"127.0.0.1 192.168.1.0/16 2.3.4.5")
-d 0/1 daemonize (disable ui and fork to background)
-T str dev type
-P 0/1 headphone mode, pause when hp unplugged
(needs dev type set to n900)
-F str fav save path
-M str midi sound patch directory
-m str midi sound patch config file
-C str1 str2 convert file1 into WAV (file2)
-H show supported formats
-h this help (duh)


Effects

Those are based on SoX-1.4.42 and include:
- equalizer (default key: shift-e) - best to cut some freqs, otherwise clipping might happen,
- flanger (shift-f) - "spinning loudspeaker",
- karaoke (shift-k) - works best when voice track is equal in both channels,
- reverb (shift-v) - adds depth,
- contrast (shift-c) - increase volume without clipping,
- earwax (shift-w) - get the sound stage out of you head (headphones),
- overdrive (shift-o) - vroom.

Formats

[slave-libav]: based on libav (Lavc56.1.0, Lavf56.1.0, Lavr2.1.0, Lavu54.3.0), formats: mp3, wav, ogg, flac, alac, ape, mpc, aac, ac3, m4a, mp2, wv, wma, ra, aif, avi, mpg, flv, mpeg, mp4, m4v, mkv, wmv, asf, mov, rm
[slave-xmp]: based on libxmp-4.4.1, formats: mod, med, xm, it, s3m, 669, abk, ac1d, amf, dbm, di, digi, dmf, dtm, emod, eu, far, flx, fnk, gdm, j2b, kris, lax, liq, m15, mdl, mfp, mgt, mmd0, mmd1, mmd2, mmd3, mtm, mtn, mtp, okt, okta, psm, pt36, ptm, rtm, sfx, sfx13, sfx2, stm, stim, stx, ult, umx, wow
[slave-gme]: based on gme-git (0x601), formats: ay, gbs, gym, hes, kss, nsf, nsfe, spc, vgm, vgz
[slave-asap]: based on asap-3.2.0, formats: sap, cm3, cmc, cmr, cms, dmc, dlt, mpd, mpt, rmt, tm2, tm8, tmc, fc
[slave-sc68]: based on libsc68 3.0.0.692M, formats: sc68, sndh
[slave-sid2]: based on libsidplayfp, formats: sid, psid, rsid, mus
[slave-flod]: based on c-flod-4.1, formats: bd, bp, bp3, dm, dm2, dmu, dum, dw, fc, fc13, fc14, fc3, fc4, fred, hip, hipc, jb, mug, rh, sfx, sfx13, sfx2, sid2, sid1, smod
[slave-aosdk]: based on aosdk-1.4.8, formats: psf, psf2, dsf, qsf, spu, ssf, minidsf, minipsf, minipsf2, miniqsf, minissf
[slave-usf]: lazyusf, formats: usf, miniusf
[slave-mdx]: mdxmini-20160105, formats: mdx
[slave-timi]: based on libwildmidi-git (0.4.1), formats: mid, midi, xmi, hmi, hmp
[slave-ym]: based on stsound-1.43, formats: ym
[slave-adplug]: based on adplug-git, formats: a2m, adl, adlib, amd, as3m, bam, cff, d00, dfm, dmo, dro, dtm, hsc, hsp, imf, jbm, ksm, laa, lds, m, mad, mkj, msc, mtk, rad, raw, rix, rol, sa2, sat, sci, sng, wlf, xad, xms, xsm, cmf, mus, got, ims, mdi, mus, sop, vgm
[slave-mpl]: external: mplayer, formats: same as libav
[slave-uade2]: external, formats: aam, adsc, abk, ac1d, ahx, alp, amc, aon, aon8, ast, avp, bp, bp3, bpsm, bd, bds, bsi, bss, chan, cin, cm, core, cust, cus, dat, dh, di, dl, dlm1, dlm2, dln, dm, dm1, dm2, dns, doda, dsc, dsr, dum, dmu, dp, dss, dw, dz, ea, ems, emsv6, eu, ex, fc, fc13, fc14, fc3, fc4, fcm, fp, fred, fw, glue, gmc, gray, hd, hip, hip7, hipc, hn, ims, is, is20, jam, jcb, jcbo, jd, jmf, jo, jpn, jpnd, jpo, jpold, jt, kh, kris, lax, lme, lion, ma, mc, mcmd, mco, mcr, mcs, md, mdat, mdst, mii, mk2, mkii, ml, mmdc, mms, mok, mon, mso, mtp2, mug, mug2, mw, ntp, pap, pc, ps, psa, pt, puma, pvp, qpa, qts, rh, rho, riff, rk, s, s7g, sa, sas, sb, sc, scn, scr, sct, scumm, sdata, sdr, sfx, sfx13, sg, sid1, sid2, sidmon, sjs, sm, sm3, smpro, smus, snk, snx, soc, sog, sonic, spl, sqt, src, ss, sun, syn, synmod, tf, tfmx, tfx, thm, thx, thn, tiny, tme, tpu, tronic, tw, uds, unic, vss, wb, ym, ymst


Links

- http://talk.maemo.org/showthread.php?t=94590 - original oscp's page on TMO - best place to report bugs and/or ask for new features. also new versions are announced there
- https://sourceforge.net/projects/oscp/files/binaries - builds for misc. systems - precompiled for linux x86/x64/arm, cygwin etc.

Contact

- either TMO page or ircnet/freenode (#maemo or #osc)

pichlo 2015-02-09 09:49

Re: oscp - console player for (almost) any file format
 
If I may have a suggestion, I would do:

left, right: prev / next file
enter: play file / enter dir / up dir if cursor on ".." *)
p or space: pause / resume

Seems more intuitive, but of course YMMV.

*) Caveat: I have not tried it yet, so I do not know it there even is a ".."

KotCzarny 2015-02-09 09:56

Re: oscp - console player for (almost) any file format
 
@pichlo: that's a valid suggestion, i'll implement key mapping later too. i personally prefer arrow keys for navigation because once i find the directory/playlist i like it just goes without interruption on shuffle mode

sulu 2015-02-09 10:06

Re: oscp - console player for (almost) any file format
 
Any chance to get the source code?

KotCzarny 2015-02-09 10:10

Re: oscp - console player for (almost) any file format
 
@sulu: sure, i didnt post it yet because it requires a bit of setup with libs, talk to me on irc and i'll give you the sources

sulu 2015-02-09 10:17

Re: oscp - console player for (almost) any file format
 
Sorry, I don't have any IM accounts and I don't intend to change that.
Can you please attach an archive here?

KotCzarny 2015-02-09 10:20

Re: oscp - console player for (almost) any file format
 
you don't have to have any im account to use irc, you can even use http based client:
http://webchat.freenode.net/ for 'channels' enter #maemo
i'll make a source pkg in a few

KotCzarny 2015-02-09 10:51

Re: oscp - console player for (almost) any file format
 
1 Attachment(s)
@sulu: here's the source. i compile things by hand, so you would need to install libs needed (libao, libesd, libav, libxmp etc)


All times are GMT. The time now is 11:04.

vBulletin® Version 3.8.8