7 ms·
Cmd.fm
- radley 13y agoFunny, you can tell by which generation/culture a player was made based on the listed genres. In this case I see acid jazz, trip-hop, and moombahton but no dubstep or glitch hop.
- shitlord 13y agoI'm playing Electro House right now. There's also Electronic, House, and Techno. You can't really judge them for not bothering to list every subcategory.
- radley 13y agoNot saying they must list every one. Rather it's always interesting / fun too see to see when someone releases a player w/ genres which ones they'll offer.
- dredmorbius 13y agoNor Baroque, Plainchant, or Twelve Tone.
- kintamanimatt 13y ago`play dubstep` works though
- brownBananas 13y agoGood stuff! I personally don't have a use for it, but I think other's need to see this. If anyone is looking for a front-end job, look in the right place. Look in the source.
- deleted 13y ago[deleted]
- blaireaug 13y agoExcellent! Bookmarked and will be listening, I've definitely needed something like this for a while, and it's really a beautiful design to pull off.
- osipovas 13y agoI am enjoying this immensely. Thank You!
- devashish86 13y agolove it. Can you give an idea of what tech are you using for this.
- ineedtosleep 13y agoIf you're like me and escape your spaces instinctively (e.g. "Progressive\ Rock" instead of "Progressive Rock"), it won't work. Hold back the desire to press the "\" key.
- thu 13y agoI listed the genres, then wanted to type `mplayer Techno` instead of `play Techno`...
- whichdan 13y agoA little formatting magic in the background would be great. For instance "progressive rock" and "triphop" work, but "progressiverock" "prog rock" and "trip hop" don't.
- hkdobrev 13y agoRemoving all whitespace, converting everything to lowercase and removing special chars should to the job. I hope they build it in.
- deleted 13y ago[deleted]
- Stealth- 13y agoI prefer this sort of interface any day compared to a bloated AJAX-y web interface that kills my browser.
- adriancooney 13y agoThis is absolutely fantastic! I'd love a native Alfred style Option + Space interface so I could quickly chop and change between the music because having to switch to Chrome then the right tab is cumbersome. This is really great however, excellent job.
- tjbarbour 13y agoFor some reason, can't see how to comment, am I missing something?
- chrislloyd 13y agoComments are taken from SoundCloud. They're not realtime from other listeners.
- gbog 13y agoI also prefer TUI over Ajax GUI but here I think we don't have the tools and environment that define a real TUI. For example, can I pipe the genre list to grep or sort or awk? Can I script a player in a cronjob? I doubt it (cannot check because on a phone)
- pearjuice 13y agoTUI, seriously? It's been called CLI for years.
- gioele 13y agoCLI is for dealing with an application or system through its command line: "apt-get install foo" TUI are usually curses-based interfaces that live in the terminal and have menu, windows and sometime support for interacting with them with the mouse (for example aptitude or alsa-mixer).
- jensenbox 13y agoGreat idea!
- rfnslyr 13y agoOMG I LOVE THIS. The Dream Pop playlist is awesome, thanks OP. I love discovering new music!
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]
- hsmyers 13y agoLong ago, there was music, call it pop. Much time passes and the same music is still played, but it has been renamed folk. Edison, got involved and the guy on the Martin discovered Fender so now they call it folk rock. Just to be clear, folk didn't go away, it is still around and thriving---fix your genres please :)
- bender80 13y agoVery cool. I like the awake layout. Listening to some rock music now.
- Urbanxassassin 13y agoVolume command keeps throwing an error
- jpinkerton88 13y agothis is the best
- ams6110 13y agoDoesn't work at all for me. Mac OSX 10.8.5, tried Firefox and Chrome. Edit: the cli works, but no music.
- citizenterminal 13y agoIt wasn't working for me either. It turns out that that you need to have Flash installed and enabled to run by default for the music to play.
- ams6110 13y agoStrange. I went to chrome:plugins, checked Flash (was enabled) then went back to cmd.fm and now it's working.
- blueblob 13y agoKind of cool, but doesn't allow much customization of the music. I'll stick with my terminal and pianobar for now.
- JoshTriplett 13y agoInteresting concept, but it's always surprising to see a newly created web-based audio player that expects Flash rather than using HTML5 audio. Doesn't work at all without Flash.
- gisenberg 13y agoIs it, though? The state of HTML5 audio is still pretty atrocious.
- JoshTriplett 13y agoApart from the selection of codecs, HTML5 audio seems to have pretty much all the bases covered. As for codecs, depending on your application, you can either pre-transcode all your audio to an appropriate codec, transcode on the fly, or even use a Javascript transcoder and the Audio Data API.
- gisenberg 13y agoI just came from a project that required heavy use of HTML5 audio, and let me tell you that the 15+ ffmpeg calls during the audio build step were the least painful part of the process. HTML5 audio in iOS is a bit of a black box, with variable, unpredictable and undocumented behaviors between iOS5 through 7. These guards are intended to shield users from obnoxious behavior, but in the process, make the feature useless for everyone else. You get one HTML audio element whitelisted in response to a user-initiated event, so you need a "click anywhere to do something useful!" screen. Also, you've got that one element to work with, so something like sound effects with a background track is out of the question. Once you've got a whitelisted element, you can then re-use that element to play individual sounds by swapping out the src attribute of that single whitelisted audio tag, which queues a new web request and plays back the sound whenever the web request finishes... which is usually several seconds after you wanted it to play. This happens regardless of whether or not the sound has been played before; the result isn't cached locally. So, if you want to produce something remotely workable, you do audio spriting and never switch out to a different audio file. You create a build step that pulls in all of your audio, all of your sound files, puts them together into a single wave file, generates an audio atlas, and re-encodes audio to mp3, wav and ogg to hit all the major players (rinse and repeat for other channels of audio). Which works on most devices, but iPads decide to ignore currentTime assignments on that audio track, so the whole thing is kind of botched. That's before we try to get stuff predictably working in IE, which can go anywhere from screwing the whole thing up to unpredictably mutating volume levels. That's before we support Firefox, which doesn't loop audio like everything else does and randomly stops playing audio. That's before we support Android, which exhibits different behaviors across the stock browser and Chrome, and so on, and so on. If you want to play a single audio track in one or two desktop browsers, then sure, the technology is somewhat ready for you. Codecs are the least painful part of the problem. Anything beyond that is a travesty.
- jafaku 13y agoOh nice. A black screen -.-
- lcasela 13y agoThis is really useful. It would kinda cool if you made this into a command line app. Still, good job!
- _lex 13y agoYou should actually constrain volume to 1-100. I'm currently listening at 2000, and I tried 1000000 and it was painful.
- _lex 13y agoHow do we chat in the repl? I'm getting messages I'd like to engage with.
- whichdan 13y agoComments are taken from SoundCloud, see: https://news.ycombinator.com/item?id=6421446 https://news.ycombinator.com/item?id=6421446
- ivan_ah 13y agoI think these are the comments from soundcloud. Though it would be really cool to have a chatroom for each song. My first interpretation was the same as yours and I was wondering if there is a char room per genre or one chatroom per song. Amazingly useful app!
- lelandbatey 13y agoOddly, I can play most stuff, but not drum & Bass. It just says Searching genre.. Found! Playing 'Drum & Bass' genre, yay! ----------------------------------------------------------------- The song is ended (but the melody lingers on) ----------------------------------------------------------------- Welcome to cmd.fm! Use 'help' command to see available commands > It's rather odd...
- davedx 13y agoHah, I looked for dnb first but missed it in the list due to the columns format, so I started with grime instead. I wonder if it's due to the ampersand.
- DarkStar851 13y agoSeems to be. Piping straight to the backend works just fine for Drum & Bass if you URL Encode.
- whichdan 13y agoVery cool app. Few thoughts: - If a track doesn't start buffering quickly enough, maybe automatically skip it? - Running 'clear' also clears the current track, but it should really be persistent. - This might go against the popular opinion, but I'd like to see "now playing" pinned at the top, so when the window scrolls, it scrolls under it, instead of effectively hiding it. - Consider setting a cookie to track preferences. - If you could link to the source (the current song's soundcloud link) that would be excellent. At the very least, a permalink or something.
- bnegreve 13y agoPoint 2, 3 and 4 are nice, but wouldn't really fit in the command line interface, which is the main feature of the website, I think.
- whichdan 13y agoI agree in theory, but I think that breaking the mold slightly will help it grow past a cool tech demo. I'm mainly comparing this against using SoundCloud directly, or something like turntable.fm. A big feature I like is being able to +favorite a song that I like, or buy the album, so anything that causes me to lose context greatly devalues the app. And for the cookies, it's really just the background and comment preferences. Maybe the cookie could be named .cmdfmrc or something?
- chronolitus 13y agoMaybe this was just added, but typing "status" has the effect that you asked for in point 2
- jaytaylor 13y agoDoesn't work at all with the "Vimium" Chrome extension [1]. What a shame. [1] https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=en https://chrome.google.com/webstore/detail/vimium/dbepggeogba...
- jzelinskie 13y agoSure it does. Just press i to enter insert mode. You have to do this for a couple of things to work (ie direct links to .swfs). It sucks to do, but I'm not going to give up Vimium to avoid having to enter insert mode every now and then.
- cespare 13y agoWell, yeah. It's not a text box; it's reading the input directly, so vimium doesn't know not to interpret it as commands. You can easily work around this by hitting 'i' (insert mode) or disabling vimium for the page (hit icon -> exclude url).
- moystard 13y agoYou call a shame the fact that this website does not work with your very specific add-on that modifies entirely how the browser handles in-page navigation?
- ams6110 13y agoWould love to see this expand. More general soundcloud search, etc. I played the "Funk" genre and it started repeating after only a few tracks. Nice demo of the concept though.
- gcb0 13y agoah. that made me sad. i thought it was a telnet or something emulator into the actual service. But it's just a html/js shenanigans :( I'd like the actual service to be a command line via telnet or other established protocol, so i can automate it via cron, arduino buttons and what not the cool kids use today.
- seldo 13y agoHow would you expect the audio to be delivered in a service you accessed via telnet?
- gcb0 13y agono. I thought the service gave you a audio stream URL and then via telnet/etc you could control what was dumped into that steam. I thought the site was just a convenient way to demo it all together by already opening the steam in an audio html tag or something and exposing the console api on the same page.
- debaserab2 13y agoJust curious - what would be desirable about an actual telnet service that does this? You seem disappointed that it wasn't that, but I'm struggling to understand the advantages.
- deleted 13y ago[deleted]
- gcb0 13y agointegration. if you had telnet/rest or any other standardly documented access point, I could schedule stations with a cron script. Have a hardware button with an arduino. The sky is the limit. The way it is now, it's just a toy. nothing other than a slightly more inconvenience to use than pandora. it doesn't really add anything different. Well i could emulate keystrokes and expose an API myself, but then i could already do that emulating mouseclicks in pandora anyway.
- ldonley 13y agoThis is certainly an interesting idea, definitely appeals to the programmer/hacker type. Its not a service for everyone since it looks complicated and scary to someone who has never opened a terminal before. I think this is fun though and you did a good job!
- ChrisNorstrom 13y agoI noticed it requires flash. If not already, you should use Sound Manager 2 http://www.schillmania.com/projects/soundmanager2/ http://www.schillmania.com/projects/soundmanager2/ and its api. It's amazing. It auto selects HTML5 or Flash on both pc and smartphones. It even checks if people have flashblock enabled and tells them to "click here to enable flash". I've used it on 2 projects before http://timeforzen.com http://timeforzen.com and http://residentevilradio.com http://residentevilradio.com (it can also stream from shoutcast servers.) I've got HTML5 disabled on those 2 projects because it was still beta and glitchy at the time the feature was introduced.
- shire 13y agothis is so cool
- pintglass 13y agoThis would be even better if it were a real terminal command-line app for OS X (and installable via brew) and Linux (and installable via apt).
- sparktree 13y agoawesome idea, unfortunately doesn't work with a mobile browser keyboard
- bmslieght 13y agoCurrent volume is 100, enter value between 0 and 100 > 100 [USER]: Cannot call method 'setVolume' of undefined [[;#f00;;;TypeError: Cannot call method 'setVolume' of undefined at playerVolume (http://cmd.fm/js/common.js:26:15 http://cmd.fm/js/common.js:26:15) at setVol (http://cmd.fm/js/terminal.js:182:3 http://cmd.fm/js/terminal.js:182:3) at Object.term.push.prompt [as eval] (http://cmd.fm/js/terminal.js:358:11 http://cmd.fm/js/terminal.js:358:11) at Object.z [as commands] (http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:70:186 http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:70:18...) at HTMLHtmlElement.t (http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:41:201 http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:41:20...) at HTMLHtmlElement.x.event.dispatch (http://cmd.fm/js/jquery.js:5:14129 http://cmd.fm/js/jquery.js:5:14129) at HTMLHtmlElement.v.handle (http://cmd.fm/js/jquery.js:5:10866)]TypeError http://cmd.fm/js/jquery.js:5:10866)]TypeError: Cannot call method 'setVolume' of undefined at playerVolume (http://cmd.fm/js/common.js:26:15 http://cmd.fm/js/common.js:26:15) at setVol (http://cmd.fm/js/terminal.js:182:3 http://cmd.fm/js/terminal.js:182:3) at Object.term.push.prompt [as eval] (http://cmd.fm/js/terminal.js:358:11 http://cmd.fm/js/terminal.js:358:11) at Object.z [as commands] (http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:70:186 http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:70:18...) at HTMLHtmlElement.t (http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:41:201 http://cmd.fm/js/terminal/jquery.terminal-0.5.4.min.js:41:20...) at HTMLHtmlElement.x.event.dispatch (http://cmd.fm/js/jquery.js:5:14129 http://cmd.fm/js/jquery.js:5:14129) at HTMLHtmlElement.v.handle (http://cmd.fm/js/jquery.js:5:10866) http://cmd.fm/js/jquery.js:5:10866)] Current volume is 100, enter value between 0 and 100 >
- anuragramdasan 13y agoThis is lovely. Although it would be great of there could be some link or info about the track being played because this could work as a brilliant music discovery service.
- asimov42 13y agoLove the nowhere layout! Is it possible to go to the previous track? Sometimes you get a song really stuck in your head and its nice to play it on repeat for a while while you work on something.
- muxxa 13y agoAlso, usually the exact moment when I want to look up the name of a track that I like is when it just finishes playing. This is also the exact time when this interface removes the name of the track and replaces it with the new 'now playing' song. Please keep a record of all songs played in the scrollback!
- gren 13y agoThis is awesome! Nice idea, would be great to be able to search for a given track by name / author.
- thehodge 13y agoNo country :(
- djhworld 13y agoCan you download this as a standalone app? I'd love a command line music player I can just boot into from my terminal
- nwj 13y agoThere are command-line options that exist today. ncmpcpp and mocp are both popular options.
- austinhyde 13y agoCheck out pianobar, a command line Pandora client. It works great for me! http://6xq.net/projects/pianobar/ http://6xq.net/projects/pianobar/
- moe_ 13y agomissing one thing for me, the Status page should also show in which Genre you are currently, i cant see that anywhere
- susi22 13y agoI'd love to get these implemented: - Ctrl + L - 'w' - 'ls'
- celwell 13y agoit's beautiful!
- celwell 13y agois everything from soundcloud? (i'm guessing because of the comments)
- rashthedude 13y agoWow, I'm in awe. I have seen a lot of wonderful mash-ups but this really tickles my fancy. Great job.
- jeena 13y agoI wrote "play Jazz" and pressed enter then I see that it searches and finds something but then it just stops at 0:00 minutes and does nothing. (Firefox 23 on OS X)
- jeena 13y agoOh interesting, after upgrading to Firefox 24 it started to play the music.
- oddshocks 13y agoThis is so ill. Nice work.
- hsinxh 13y agoabsolutely brilliant.
- fl0m 13y agoI hear nothing. I get some error when I'm trying to change volume. Where do these great comments came from?
- datashaman 13y agoOdd: When I play a genre, the site tries to POST to http://localhost/cmdfm/api/users/ http://localhost/cmdfm/api/users/, which is denied by my local Apache since it does not exist. Coding error?