Skip to content
Scott Franco edited this page Sep 4, 2024 · 4 revisions

Welcome to the petit-ami wiki!

This is a graphical toolkit (GTK) for porting programs between OSes

Peitit-Ami is a graphical toolkit (GTK) for porting programs between operating systems that was written starting in the 1980's. In was originally written in Pascaline (A highly advanced Pascal), but I am in the process of translating it to C. Written before the time of Windows and XWindows, it was extended to those operating systems in a way that didn't require previous programs to be rewritten or thrown out. It does that by using clear, paradigm driven models of device I/O that carry over from one model into a higher level of I/O and abstraction.

Features

Completely free of restrictions. The source is all here and BSD licensed, and completely non-proprietary. You are free to build it into your own source, modify it, sell it, whatever.

Petit-Ami does not force you into any particular style of programming. You don't have to use callback events (it is optional), or object orientation (again, optional).

Uses standard I/O. All of the stdio (whitebook) library calls carry over. In fact, most text based programs can simply be recompiled and placed into windows.

Has a series of nested I/O models. Standard text based (serial) programs can run in a terminal model, and those can carry into graphical models, and then windowed models with widgets.

Has sound/midi processing modules, including sound and midi I/O, a built in sequencer, and other features.

Has an extensive networking module, which extends the stdio I/O model, all the way through TLS security and certificates management.

Emphasizes simple and logical paradigms and call models.

Each module of Petit-Ami is independent. You can use only one of them or only a few of them.

Not a "terminal emulator". Each module API level extends the last in a clear and logical way up to the full graphical level.

Screenshots:

image

image

image

image

image

image

Note:

This repo is backup hosted at:

https://github.com/samiam95124/petit-ami

Clone this wiki locally