Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - alberthrocks

Pages: 1 ... 21 22 [23] 24 25 ... 55
331
SUPER, as I've heard and from experience, seems to be a video converter bundled with spyware/viruses. (This post (2006) describes some of the concerns with it.) I don't know if it's valid today, but there's no source at all to look at, so... :P

I would typically suggest HandBrake, an excellent, consistent, and stable video converter... but unfortunately, it's only a video transcoder, which means it doesn't do image output. (Its core is FFMPEG, though.)

Therefore, I would point you to WinFF, another popular video converter that directly uses the FFMPEG program. (HandBrake uses FFMPEG's libraries, IIRC.) Although I haven't personally used it myself, it is popular and I know people who use it. :) I don't know if it will handle video -> BMP, but... one of its interesting features is the ability to customize the presets. Someone here familiar with FFMPEG can give you the preset options to fill in so that you can easily perform the conversion from the GUI. :) (OK, I did "use" it - as in look around inside and then decide it couldn't do what I wanted it to do :P)

Good luck with your endeavor! :D

332
News / Re: SOPA/PIPA blackout
« on: January 18, 2012, 09:51:26 pm »
Curious that Facebook didn't though :/
Yeah, they would be adversely affected too. They probably didn't do it so they could let people share and spread the anti-SOPA stuffs, just like Twitter.

333
News / Re: SOPA/PIPA blackout
« on: January 18, 2012, 09:39:58 pm »
The Oatmeal and XKCD join today's fight. Go web comics! :D
For your viewing pleasure:


My VPS, withgusto, also joins in the blackout too. :) (Although there's not much content to begin with, and it was black in the first place. :P)

334
Other Calculators / Re: Calculator Audio Demodulator
« on: January 15, 2012, 08:01:32 pm »
Yeah, it's likely that inaudible audio (too high/too low) with a microphone and speaker on both ends may be the solution.
It's cheaper than actual wireless (at least $20 for a crappy board, $50+ for a good one).

You could also use the upcoming RaspberryPi - ARM board that you could throw Linux on and write the encoding software there! :)

I'm curious though - how fast would the sound pulses have to be, and can regular audio transfer handle that?
Would a difference in pitch be involved as well?

335
Other Calculators / Re: Calculator Audio Demodulator
« on: January 15, 2012, 07:05:06 pm »
If it doesn't work out, you can always make it so that it plays sounds that can be read by the calc and be parsed into data.

You know what would be awesome? Sounds played via speaker that we can't hear, but a microphone (connected to an Arduino?) that can interpret and parse it. The result? Some serious wireless calculator linking! :D

336
News / Re: Ndless 3.1 coming soon?
« on: January 09, 2012, 08:47:50 pm »
ExtendeD told me in an email that this project wouldn't take too long, so I'm not surprised! :D

Now, to actually get a Nspire CX... :P

337
TI Z80 / Re: Axe GUI Library
« on: January 03, 2012, 07:40:50 pm »
uh...you lost me.
Heh, I'm probably a bad explainer then :P

Basically, the way you build a GUI is to have a "container" to hold the "widgets", starting from the base and up.
When you want to make something interactive - say, if I click a button, I get a popup window - then you have to use a function to "connect" a signal and a callback.

Here's a possible future Axe GUI Library example: (I do not use 5 char label names here since they are very ambiguous)
.AXEGUI
InitGUI(GUIV) .Sets up the GUI system
AddWindow(GUIV, WINV, "Hello world!", 1) .Creates a "fullscreen" window
AddLabel(WINV, LBLV, "Click that button!") .Creates a label
AddButton(WINV, BTNV, "Click me!") .Creates a button

.Let's make it interactive!
Connect(BTNV, 1, LOnClick) .Set up button so that when it's clicked, the label OnClick is called.
ShowGUI() .Show the GUI/mouse.
DestroyGUI() .Delete the GUI once done
Return .Exit

Lbl OnClick
MsgBox("Hey! What a cool MsgBox this is!") .Show a dialog box (MsgBox)
Return .Exit from subroutine


If you're still confused, please tell me and I'll try to clarify. (That may mean the current API must be complex... :P)

338
TI Z80 / Re: Axe GUI Library
« on: January 02, 2012, 10:10:18 pm »
Has this taken advantage of callbacks yet, given that Axe now has variable function calls?  All modern GUI designs these days are callback-based because it makes the programming simple and minimal.
Indeed we are. ;) However, with this:
Dilog("Are you sure?",LMYes,LMNo)
That would be an example of over-doing it! ;)

This would create a dialog with the text "Are you sure?" and when the "Yes" button is clicked, calls the label MYes and when "No" or cancel is clicked, calls the label MNo.  This is just an example implementation, but I wonder if its similar?
To fully answer this post... I know for a fact that wxWidgets does not do it this way, but it's C++, an OOP language, which Axe does not feature.... yet. ;)

So for a better comparison, I'll use a C based toolkit which has some OOP principles implemented in the background (hint hint: something that we're aiming for!) for proper comparison.

If we look at GTK+, a very popular C GUI toolkit, we have GtkMessageDialog. (See the API here. This link points exactly to the section I refer to below.)

If you look at gtk_dialog_run(), it shows how might this be used. Let's display it here:
Code: [Select]
gint result = gtk_dialog_run (GTK_DIALOG (dialog));
switch (result)
  {
    case GTK_RESPONSE_ACCEPT:
       do_application_specific_something ();
       break;
    default:
       do_nothing_since_dialog_was_cancelled ();
       break;
  }
gtk_widget_destroy (dialog);
We don't use callbacks in this case; instead, we take a result integer and compare it to another, preferably through predefined variables (in this case, GTK_RESPONSE_ACCEPT).

For those not versed in C, a pretty Python example (PyGTK) is shown below.
Code: [Select]
        dialog = gtk.MessageDialog(self, 0, gtk.MESSAGE_QUESTION,
            gtk.BUTTONS_YES_NO, "Are you sure you want to exit?")
        dialog.format_secondary_text(
           "We don't want you to lose any data.")
        response = dialog.run()
        dialog.destroy()
        if response == gtk.RESPONSE_YES:
            gtk.main_quit()
        elif response == gtk.RESPONSE_NO:
            print "Not exiting."

However, a case where callbacks may be (or rather, should be) used is when you create a window with all sorts of widgets inside.
For the sake of simplicity, I'll show PyGTK code.

**********************************
* Hello world!               [X] *
**********************************
* +--------+                     *
* | Button |                     *
* +--------+                     *
**********************************


Code: [Select]
import gtk

class PyApp(gtk.Window):

    def __init__(self):
        super(PyApp, self).__init__()
     
        self.set_title("Hello world!")
        self.set_size_request(250, 200)
        self.set_position(gtk.WIN_POS_CENTER)

        self.connect("destroy", gtk.main_quit)

        self.fixed = gtk.Fixed()
        self.add(self.fixed)
       
        button = gtk.Button("Button")
        button.set_size_request(80, 35)
        button.connect("clicked", self.on_clicked) # There's the callback! :)
 
        self.fixed.put(button, 50, 50)
     
        self.set_tooltip_text("Window widget")
        button.set_tooltip_text("Button widget")

        self.show_all()
    def on_clicked(self, widget): # This handle the event
        dialog = gtk.MessageDialog(self, 0, gtk.MESSAGE_QUESTION,
            gtk.BUTTONS_YES_NO, "Are you sure you want to exit?")
        dialog.format_secondary_text(
           "We don't want you to lose any data.")
        response = dialog.run()
        dialog.destroy()
        if response == gtk.RESPONSE_YES:
            gtk.main_quit()
        elif response == gtk.RESPONSE_NO:
            print "Not exiting."

PyApp()
gtk.main()

We, of course, can get even more complex by talking about the different ways you could handle events - GTK+ uses signals and callbacks, Qt signals and slots, wxWidgets an "event table" and regular callbacks (scroll down). Kinda crazy, eh? :P I think our plan is to do the "signals and callbacks" method, since it's the simplest to implement and possibly use. :)



Finally, a note to all: we follow the rule "show, don't tell" simply because we like giving surprises (who doesn't? :D), but also it gives us freedom to work on it any time without any deadline pressures. ;) And if it does die - possible, but not likely - no one can be really disappointed because we never offered any expectations in the first place.

This project is undergoing a significant rewrite - we used to do something like this:
Code: [Select]
AddButton(A,1,2)
While Z!=15
getKey->Z
If Z=1
Y+1->Y
End
. etc...
If Z=19 .or whatever ENTER is
DlgBox("Hello world!")
End

Doing it this way would make it impractical, verbose, and just a pain to make a GUI with.
Hence, we went for a complete redesign, with sophisticated planning so that you guys will enjoy the new, refined AGL once it's released! :D
As always, the foundation builds the house, NOT the roof nor the pretty furniture - and we're focusing on that foundation. ;)

If you are really good at Axe, have a passion for GUI toolkits, and would like to help, come on board! :D We could use all the help we can get! Either reply in this topic or PM me and you'll get added in. If possible, showcase some of your previous best works (like a resume :P).

A new year.... a new chance for infinite possibilities! :D

339
Miscellaneous / Re: Happy New Year!
« on: January 01, 2012, 12:42:08 am »
NTP atomic time.
Atomic time? ???
Super synchronized time with some crazy equipment, shared by all the nations in the world. ;) In short, really accurate timing! :D

Juju: You actually made me laugh, so you get a +1 :D

340
Miscellaneous / Re: Happy New Year!
« on: January 01, 2012, 12:26:19 am »
In case you have missed it (very likely), here's what I've posted out on OmniNET:
Quote
[00:02:50] -Global- [Network Notice] Juju (juju2143) - Happy New Year to everyone on OmniNET! :D (If you haven't gotten there yet, 1-3 hours should be enough! :P) Here's to a prosperous and mellow New Year! :D [This NOTICE is synchronized to NTP atomic time. :P] Sincerely, all the OmniNET opers/staff ;)

(It says Juju because the OperServ system is rather quirky and when I "sent" it, it didn't really send. Juju tried to send something of his own, which sent mine... :P)

Anyway, on a personal note, I hope everyone has a fantastic, prosperous, and happy new year! :D
What are your resolutions for this year? Mine are:
Resolutions for this year?
1) Get a 2300+ on my SATs!
2) Get a 4.0 Junior year (unweighted)!
3) Get fit!
4) Accomplish more! :D

(#1 and 2 are typical Asian goals, but there's some depth in both :P)

341
TI Z80 / Re: Axe GUI Library
« on: December 31, 2011, 10:09:43 pm »
Is this project still active or is it dead? (It looks sooooo cool! )
It's active... but undergoing a very serious rewrite to allow unlimited possibilities. :D
We just like to keep it quiet and make the final product a surprise. ;)

342
News / Re: Ticalc publishes 2011 POTY results
« on: December 30, 2011, 01:02:12 pm »
I don't know... With Ndless coming to a final stage, I think people will be using more and more C.
Nah... Ndless' API is still... shocking... to write in, especially for those who did Lua before. :P
nSDL (one of my projects) is going to fix that, but Lua will still remain popular. Hopefully, they will both equal each other in the end. ;)

On another note, congrats to everyone who won the POTY! :D If you didn't win, you're still a winner to me. ;) Getting featured on TICalc.org is something to still be proud of, even if you didn't get a POTY! :)

That said, here's to an even better year full of fun programs! :D

343
Hmm... I have Mono setup on my desktop, so methinks I'll have to look into that. And I'm not sure about conditional imports, but the way I'm setting up the tabs, I could probably do something different for the editor per tab. Does Mono define some kind of unique pre-processor token? If it does, I could just check against that.
After intensive searching, I've found this:
http://stackoverflow.com/questions/5159657/isolate-mono-specific-code

Code: [Select]
#if __MonoCS__
 //mono specific code
#else
 //other code
#endif

woot! :D

344
Computer Projects and Ideas / Re: Web-based Wabbitemu Frontend
« on: December 28, 2011, 06:55:15 pm »
So this is a C Wabbitemu backend with a JS/HTML frontend? :)

(I've actually found a C to JS compiler - a serious one called Emscripten. You might be able to have Wabbitemu all in a browser! :D I might try this...)

EDIT: You know what? I'm going to attempt this! :D Don't try it yet until I give up :P

345
@albert: Darn :( at least the file accessing thing was fixed lol. All those errors seem to just be with the editor, so I could try to just make a forked release that just uses a modified RichTextBox for Linux.
Or... you can use Mono.Texteditor! :D (A RichTextBox seems.... uncode-y :P)

Mono.TextEditor is from MonoDevelop, which is forked from SharpDevelop... and you guessed it, contains the ICSharpCode.TextEditor library! :) So technically, Mono.TextEditor should be similar in API.

In .NET, are you allowed to do conditional library imports? That way, you don't have to fork the code and worry about two platform codes.

Pages: 1 ... 21 22 [23] 24 25 ... 55