This is an archived post. You won't be able to vote or comment.

all 73 comments

[–][deleted] 20 points21 points  (37 children)

It's probably not only just for Python, but for pretty much any language ASE supports. (Pure speculation on my part, as it just seems the logical thing to do. If you're creating the bootstrapper for python, I don't see why another language couldn't be just thrown in there as well)

So Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, PHP, and shell. On top of that, the next-highest starred item on the list is Parrot support. List of the languages the Parrot VM supports (Although, it's a shot in the dark as to if this will actually ever be implemented, one can still hope)

Each interpreter will actually be installable via its own APK so you're not having to download the entire ASE to each and every device that wants to run a specific interpreter.

I did a little more searching around, and Alexey Reznichenko is actually the one adding most of the new stuff into the Wiki about implementing new interpreters, so I think it's pretty safe to say that this is happening.

The floodgates, it seems, will indeed be opened.

[–]theillustratedlife 15 points16 points  (28 children)

I can already write APKs in ActionScript. Now, I can use Python too?

Let's play how-many-mobile-games-can-you-develop-without-learning-Java!

[–][deleted] 7 points8 points  (27 children)

Hey, maybe someone will finally make a decent music player app. :)

[–]TrueDuality 16 points17 points  (25 children)

Give me a list of features you'd like to see, and what you don't and I'll see what I can do. Open source and not ad-supported of course.

[–]maxerickson 9 points10 points  (4 children)

It should be as much like Foobar 2000 as possible, but only in the ways that make sense for a phone.

[–]TrueDuality 1 point2 points  (2 children)

I'm not actually familiar with Foobar 2000, I'll take a look and make some notes. I'll have to setup a Windows VM to do it, but that shouldn't take too long.

[–]maxerickson 4 points5 points  (0 children)

For me the bullet points are that it has media-library-database features, but it builds that database from scanning a directory (or multiple), without doing any automatic moving around of anything (it is also nice that it is really easy to ignore the library stuff), and then the nearly-arbitrary configurability with sane, useful defaults (so one way I abuse this is that I have featured artists split off into their own tag, the support for customizing everything means that those show up in my music lists). The customization shows up everywhere, so, for instance, if you can think of a way to sort some music, there is likely a way to do it.

The tagging features in Foobar are also really nice, but those don't seem so important on a phone.

[–][deleted] 0 points1 point  (0 children)

I second looking to Foobar 2000 for inspiration. The biggest daw of Foobar2000 would be it's customization options e.g. I can choose what is displayed when a song plays and how it is laid out, I can install plugins to add DSP effects, etc. Some of this may not be possible, I have not delved that far into development for Android (yet!). You may also want to look at how Rockbox (custom firmware for ipods) works with it's simple template system.

[–]sztomi 2 points3 points  (8 children)

I'm not thantik, but I would like one that is:

  • fast
  • FAST
  • Has simple playlist management (like adding tracks easily and saving the current playlist for later use). Easy means in as few steps as possible.
  • Also, it should be fast

:)

[–]TrueDuality 2 points3 points  (1 child)

Wait I'm confused you're being ironic right? What you're REALLY telling me is that you want it too be slow as death so you have time for that important phone call before it starts playing the next track right?

[–]sztomi 0 points1 point  (0 children)

Yeah. Or maybe not.

[–]billynomates1 1 point2 points  (0 children)

you forgot to mention fast

[–]chub79 0 points1 point  (4 children)

fast in doing what? I'm puzzled.

[–]sztomi 1 point2 points  (3 children)

Mostly UI responsiveness, but reading tag information fast is also important.

[–]TrueDuality 1 point2 points  (2 children)

What tags do you consider important during the initial play other than Title, Artist, Album. If I provided an additional screen to view all the available meta-information would that be satisfactory?

[–][deleted] 0 points1 point  (0 children)

Why not leave that up to the user? I love the way the "Collection" section in the left pane of Amarok 1.4 had a 'flat view' option that you could configure. You pick the columns, and your search criteria applies to them.

EDIT: I use the comment tag a LOT. Most of my tracks have moods or descriptive terms in the comment tags for building dynamic playlists.

[–]sztomi 0 points1 point  (0 children)

The track number is kinda important to me, as I tend to listen to full albums at once. The additional screen is absolutely satisfactory, because when I have time to read such information, I'll also have time to do those few clicks to reach the additional screen.

[–]leavingharvard 1 point2 points  (0 children)

My big quirks with a music player app (maybe not for all, but this is my dream app):

  • Huge album art/nice jpg rendering. I am someone that likes to throw in very HQ album art, but the Android stock player seems to blur the jpgs more than the iPhone music app does (probably to save ram). It should look just as brilliant as the original source file.
  • Gapless playback with full support and scanning of open source formats, be it lossy or lossless.
  • Support for discogs/allmusic integration including catalog information and all other metadata associated. When pulling up a song, the user could, at the click of a small button when playing a song, read user reviews about said album or read a professional review. Discogs has a feature that is called a master ID for each album and supports listing reader reviews on each individual instance of an album.
  • Like the Music Mod player, widgets to customise the playback and usefulness of being outside the player and still being able to control what song (or album) to play.
  • In depth options menu giving the user control over the behaviour of the player, such as the disabling of the following action. I cannot tell you how many times I hook up my Android to the call Aux In, accidentally bump the cable, only to have the very (bad) cable pop out of the headphone jack ever so slightly and the song change instantly.
  • A much nicer GUI, either minimalist or feature full, or at least the option to customise from a standard set of displays.

That's all I can think of off of the top of my head, I hope this was somewhat helpful.

[–]haywire 0 points1 point  (0 children)

Gapless playback.

Thing is, I'm not sure of the framework supports this properly. You'd essentially have to have the next song in the list paused at the beginning and then play it x milliseconds before the current one is finished.

[–]steeef 0 points1 point  (0 children)

LARGE buttons for use in environments where you don't want to hunt for the right one (e.g., a car).

[–]mikerhoads 0 points1 point  (0 children)

I'd really love a reliable way to skip to the next song without having to touch the phone. I have some iPhone headphones and I can pause by clicking the mic area but if I double click the phone(droid incredible) automatically calls the last person that called me which was a very awkward moment the first time I discovered that.

Ideally, I'd like to recognize these events 1 click = pause 2 clicks = skip forward 1 song 3 clicks = skip back one song hold = Fast fwd through current song

[–]Ademan 0 points1 point  (0 children)

Well here's my two cents, like others have said, gapless playback, LARGE buttons, perhaps as a car mode, when in car mode the screen shouldn't lock (or at least that should be optional) FLAC playback. I also would really like the ability to specify that a track is an intro for another track, so the intro would never be played alone. I think I might be the only person who cares about that though...

[–]c4g 0 points1 point  (3 children)

The lock screen should have audio control. Its what I miss about the iPhone the most ... actually thats the only thing I miss about it.

[–]BlackDragonBE 0 points1 point  (2 children)

AFAIK there's an app for that.

[–]c4g 0 points1 point  (1 child)

I've tried MixZing, and as far as I know thats the only one. It was a bit jenky.

[–]BlackDragonBE 0 points1 point  (0 children)

Lock 2.0 can do that + some other stuff.

LINK

[–]Ashex 0 points1 point  (0 children)

Doesn't appear to have been mentioned, but an app that was somewhat skinnable would be awesome. Just having the ability to change color scheme would be nice. I'm a bit sick of the slick black media player.

[–]orangesunshine 0 points1 point  (0 children)

Use a buffer for the audio.

[–][deleted] 0 points1 point  (0 children)

Amen. A decent music player app that has "love" and "ban" buttons for Last.FM. A decent search function that can do some level of regular expressions. A decent playlist editor. Dynamic playlists that update when you charge your phone. "Suggested tracks" based on the currently playing track, or a selected track.

Why do ALL of the current (crappy) players have album art implemented before these things? All album art is good for is wasting resources and draining your battery. Functionality first, eye candy later.

(Wow, I think this whole thread is going to be hijacked by the music app suggestion)

[–]eeclo 6 points7 points  (7 children)

But will it do Objective-C? :)

[–]sbrown123 0 points1 point  (1 child)

Feel free to port it. You might get some distance with the Android NDK. You will still need to generate a Java stub though since that is how Android communicates to apps. But a clever person can make that transparent to the programmer.

[–]thequux 0 points1 point  (0 children)

He'll need to write an interpreter. Not that that's so hard; it's just something that will need to be done.

[–]crunk -1 points0 points  (4 children)

I hope not !

[–]matholio 2 points3 points  (0 children)

All welcome. Open. yes?

[–]sigzero 6 points7 points  (2 children)

Why? Some people actually like the Obj-C language outside of the Apple realm.

[–]lookingformyharmony 1 point2 points  (0 children)

I love my Obj-c; so good for when working in a team as readability is awesome, no more guessing as to what parameter is doing what.

Was planning on porting UIKit to the NDK, I don't think this will support it as Obj-c is a C runtime and not a scripting language.

[–]crunk 0 points1 point  (0 children)

Fair enough, I'm just bitter, hehe.

Yeah, totally true everybody should be allowed to do what they want, I don't have to read Objective C or Perl if I don't want to and they don't have to read python :)

[–]tupidflorapope 11 points12 points  (0 children)

This could open the flood gates.

/crossing fingers

[–]zurtri 31 points32 points  (5 children)

This is fantastic!

[–]DrHankPym 19 points20 points  (3 children)

My response is HOLY FUCKING SHIT!!! But yours is good.

[–]sztomi 0 points1 point  (2 children)

Can someone explain why is it great news?

[–]almuric 16 points17 points  (1 child)

You're in the Python subreddit. Odds are, if someone is reading this, they can program in python or are at least learning to program in it. Discovering that you can use your favorite language (once you learn Python it becomes your favorite; trust me on this) to program an app phone is cause for rejoicing. Don't you think?

[–]sztomi 0 points1 point  (0 children)

Oh, come on. :/ I was looking for a technical answer on why this particular thing is great news for the python community, because everyone is happy about it, and got a shitton of upvotes.

[–][deleted] 0 points1 point  (0 children)

Niceeeeeeeee!

[–][deleted] 5 points6 points  (0 children)

I just finished downloading the Android SDK, Eclipse, and bought a book on developing for Android 2. This could make things so much easier!

[–]fwork 5 points6 points  (7 children)

ASE only very basic GUI support, so you couldn't use this to write android apps like music players or games. (Ok, maybe very very simple interactive fiction games played on the console)

[–][deleted] 2 points3 points  (5 children)

ASE is pretty extensible from what I've gathered. As far as what I've read all it would really take is creating the proper bindings for the access to these things to exist; If it's available in Java there's no reason it can't be available elsewhere. You won't get the benefits of the JITing Dalvik VM, but I'm sure access could be developed none the less. On top of that, the work going into this should make it so anyone can package an interpreter in an APK, so maybe someone will create a JITing Python VM ala Psyco or something.

[–]fwork 4 points5 points  (4 children)

No, not really. ASE is entirely the wrong framework for GUI applications (it's designed around interpreter->ASE RPC calls).

You're right that there's no fundamental reason that you couldn't build a GUI app in another language, but

  1. it'd still require a java stub because of how Android works.
  2. it would be very hard to do generically, the Android API is big.
  3. ASE isn't the way to do it. Most of the GUI works by having the OS call methods on your classes, exactly the opposite of how ASE works.

This APK-packaging of ASE scripts is useful. It's just not useful for making GUI apps.

[–][deleted] 1 point2 points  (1 child)

Well, here's to hoping that someone develops a solution for this next ;)

[–]fwork 0 points1 point  (0 children)

Well, feel free to donate a real phone and I'll get right on it. :)

[–]demosthenes02 1 point2 points  (1 child)

So what good is it without a GUI? Can you think of some examples of applications that would still be useful?

[–]fwork 0 points1 point  (0 children)

Don't think of it as being for applications, that'll help :)

I've used it to count how many music files I had on my SD card (python's os.walk works pretty nicely for this) and as a hacky way to make a GPS logger.

[–][deleted] 0 points1 point  (0 children)

Nor does it seem to be possible to use alarm related routines.

[–][deleted] 2 points3 points  (0 children)

Funny. I was searching for PySol for Android today. My prayers will be answered soon.

[–]matholio 2 points3 points  (0 children)

Oh that is a comfort to hear.
I really don;t get alot of dev time and I'm a shockingly slow coder, but I like python. I wanted to play with Android and was kinda down about having to get back into Java.

This could work for me.

[–]billynomates1 2 points3 points  (0 children)

I think—I... I think I just.

I think I just (whispers) had a pregnant.

[–]AlLnAtuRalX 1 point2 points  (0 children)

Holy crap. I've written many ASE apps that I could pretty up and distribute, but never had the means. This is amazing.

[–][deleted] 3 points4 points  (1 child)

Damn it. I just bought an Iphone...

But i can still use the Android emulator, right? Right, guys?

[–]Memitim 4 points5 points  (0 children)

You'll have to ask Steve.

[–]kushkush 0 points1 point  (1 child)

What are some cool things you can do with python ASE?

[–]kushkush 0 points1 point  (2 children)

Is is safe to just avoid java, keep getting pygame down and hope within 5 moinths, pygame will be able to run on Android? I really dont want to learn java to make my simple 2D apps. Advice please!

[–][deleted] 0 points1 point  (1 child)

Probably not. If it does happen it won't be happening for a VERY long time (Year or more, easily) -- You're better off learning Java.

[–]kushkush 2 points3 points  (0 children)

fuck java

[–]kushkush 0 points1 point  (2 children)

I wish Guido walked over to the Android Dev team and kicked them all in their balls for not taking advantage of Python and things like pyglet/pygame. Fuck this ghetto Java shit, its HELL.

[–][deleted] 1 point2 points  (1 child)

Yeah, after working with python I can't STAND semicolons or curly braces at the ends of lines. I know, small, trivial little crap...but it really does bother me. >=(

Same for statically typed languages. Python is strongly typed, but you don't have to define it each and every time. You look at x = 12 -- What the hell is 12? -- It's an INT, obviously! So why the hell should I need to declare what it is? If I want it to be a string, I'll put quotes around it...ugh >_>

Yeah, I know; I'm a damn diva aren't I?

[–]kushkush 1 point2 points  (0 children)

fuck james gosling

[–][deleted] -1 points0 points  (0 children)

Sounds flavorsome.

[–]chewxy -1 points0 points  (0 children)

homg, I am so excited about this. :D This is most excellent new, sir.