From Wikibooks, open books for an open world
Jump to navigation Jump to search
Navbar for the Aros wikibook
Aros User
Aros User Docs
Aros User FAQs
Aros User Applications
Aros User DOS Shell
Aros Dev Docs
Aros Developer Docs
Porting Software from AmigaOS/SDL
For Zune Beginners
Zune .MUI Classes
For SDL Beginners
Aros Developer BuildSystem
Specific platforms
Aros x86 Complete System HCL
Aros x86 Audio/Video Support
Aros x86 Network Support
Aros Intel AMD x86 Installing
Aros Storage Support IDE SATA etc
Aros Poseidon USB Support
x86-64 Support
Motorola 68k Amiga Support
Linux and FreeBSD Support
Windows Mingw and MacOSX Support
Android Support
Arm Raspberry Pi Support
PPC Power Architecture
Aros Public License

Introduction[edit | edit source]

Created originally on this thread on

  • Web browser AROS - using Odyssey formerly known as OWB
  • Email AROS - using SimpleMAIL and YAM
  • Video playback AROS - mplayer
  • Audio Playback AROS - mplayer
  • Photo editing - ZunePaint, Lunapaint,
  • Games AROS - some ported games plus lots of emulation software and HTML5

There is still a lot of software to be ported, written or shared so if you are interested in creating and joining in with this effort see here

Web Application[edit | edit source]

Web Application AROS(x86) Amiga OS3 (68k) AmigaOS4(PPC) MorphOS(PPC)
Browsing Odyssey, OWB 1.0x OWB Trac, IBrowse*, Voyager*, AWeb, AWeb Src, Netsurf [ Odyssey OWB], [ Timberwolf (Firefox port 2011)], OWB-mui, OWB-Reaction, IBrowse*, AWeb, Voyager, Netsurf, Odyssey OWB, [ Netsurf], IBrowse*, AWeb,
E-mailing SimpleMail, src, YAM SimpleMail, YAM SimpleMail, YAM, SimpleMail, YAM
YouTube Viewing Amitube, or this one, Amitube, Amitube,getVideo, Tubexx, aiostreams, Amitube,Odyssey (OWB), getVideo, Tubexx
IRC WookieChat, Wookiechat src, AiRcOS, Jabberwocky, Wookiechat, AmIRC Wookiechat Wookiechat, AmIRC,
Instant Messaging IM like Facebook(TM) and Twitter (TM) and others jabberwocky, AmiTwitter, CLIMM, SabreMSN, jabberwocky, AmiTwitter, SabreMSN, AmiTwitter, PolyglotNG, SabreMSN,
Torrents ArTorr, CTorrent, Transmission MLDonkey, Beehive, Transmission, CTorrent,
FTP Plugin included with Dopus Magellan, MarranoFTP, AmiFTP, AmiTradeCenter, ncFTP, Pftp, AmiFTP, Transfer
Newsgroups ? Newscoaster, NewsRog, WorldNews, ? ?
WYSIWYG Web Editor ? MetalWEB, AwebDV, WebDesign, Webplug, ? ?
Streaming Audio gnump3d, Icecast2 Server (Broadcast) and Client (Listen), [ mpd], DarkIce, Muse, Mplayer (Icecast Client only), MODMancer, Tunenet, AmiNetRadio, Mplayer, AmiNetRadio,
VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like) ? AmiPhone with Speak Freely, ? ?
Weather Forecast WeatherBar, Wetter, FlipClock, Wetter,
Street Road Maps Route Planning GPS Tracking MuiMapparium Build of MuiMapp versions, AmiAtlas*, UKRoutePlus*, AmOSM, ? Mapparium,
Clock and Date setting from the internet (either ntp or websites) ntpsync, Time in a Browser Tab, World Clock, NIST, ntpsync
RSS news feeds ('Really Simple Syndication') RSS, Atom and RDF aggregator Feedly free 80 accs, [Daily Rotation, NewsBlur free 64 accs, [],
Speed Tests Test My, Speed Test, [ ], NetMeter
HTML5 WebGL tests HTML5 Test, Can I?, WebGL Test, WebGL Report,

* Commercial product.

Graphical Image Editing Art[edit | edit source]

Image Editing AROS(x86) AmigaOS3(68k) AmigaOS4(PPC) MorphOS(PPC)
Pixel Raster Artwork ZunePaint, LunaPaint, GrafX2, LodePaint needs OpenGL, DPaint.js, PPaint, GrafX2, DeluxePaint, PerfectPaint, Zoetrope, Brilliance2*, LodePaint, GrafX2, Sketch, Pixel*, GrafX2, LunaPaint
Image viewing ZuneView, LookHere, LoView, PicShow , Picture Album, PicShow, PicView, Photoalbum, WarpView, PicShow, flPhoto, Thumbs, Picture Album, ShowGirls, Picture Album
Photography retouching / Image Manipulation RNOEffects, ZunePaint, ZuneView, PicoZu, PhotoPea, LunaPic, TVPaint, Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, WarpView, flPhoto, Photocrop ShowGirls, ImageFX*,
Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB ? GraphicsConverter, ImageStudio, MPImage Src, ArtPro
Thumbnail Generator ZuneView, Thumbnail Generator ImageDesk, MTN, TNM Image2Icon
Icon Editor X-Icon editor, Archives, Icon Toolbox, IconEditor
Animation Lunapaint PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD* ? Titler
2D SVG based MovieSetter type ? MovieSetter*, Fantavision* ? ?
Morphing [ GLMorph] ? ?
2D Cad (qcad->LibreCAD, etc.) ? Xcad, MaxonCAD ? ?
3D Cad (OpenCascade->FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc.) ? XCad3d*, DynaCADD* ? ?
3D Rendering POV-Ray CINEMA 4D*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, Irit Editor Src, Raystorm src Blender, POV-Ray, Yafray Blender, POV-Ray, Yafray
3D Format Converter ? T3D lib Exe IVCon

* Commercial product.

Office Application[edit | edit source]

Office AROS (x86) AmigaOS3 (68k) AmigaOS4 (PPC) MorphOS (PPC)
Word-processing Cinnamon Writer, Final Writer 7*, [ ], [ ], AmigaWriter*, WordWorth*, FinalWriter*, Excellence 3*, Protext, Rashumon, AbiWord, CinnamonWriter Cinnamon Writer, scriba, Papyrus Office,
Spreadsheets Leu, Ignition, LuaCalc, [ ], [ ], [ ], Turbocalc*, Ignition, FinalCalc*, ProCalc 2, StarAmPlan, Gnumeric, Ignition [ ignition], Papyrus Office,
Presentations Hollywood*, HTML5 Slides, S5, impress.js, presentation.js, reveal.js, CSSS, CSSS intro, Hollywood*, MediaPoint, PointRider, Scala*, Hollywood*, PointRider Hollywood*, PointRider
Databases SDB, BeeBase, BeeBase, Datastore, FinalData, AmigaBase, Fiasco, Twist2, BeeBase, SQLite, BeeBase,
PDF Viewing and editing digital signatures Sedja, ArosPDF via splash, vpdf wip, APDF AmiPDF APDF, vPDF,
Printing Postscript 3 laser printers and Ghostscript internal, GutenPrint, TurboPrint* (some native drivers), early TurboPrint included,
Note Taking Rich Text support like joplin, OneNote, EverNote Notes etc
PIM Personal Information Manager - Day Diary Planner Calendar App [ ], [ ], [ ], Digita Organiser*, On The Ball, Everyday Organiser, Calender in Rexx, [ Contact Manager], Calendar in E, Post Notes in C, AOrganiser, PolyOrga,
Accounting ETB, LoanCalc, [ ], [ ], [ ], Home Accounts, Accountant, Small Business Accounts, Account Master, HomeBank, [ Amigabok], ? ?
Project Management ? SuperGantt, SuperPlan, ? ?
System Wide Dictionary - multilingual Babiloo, StarDict, On-line, AlphaSpell, Ispell Src,
System wide Thesaurus - multi lingual On-line, Roget Gutenberg etext, Kuma K-Roget*,
Sticky Desktop Notes (post it type) AmiMemos, StickIt v2,
DTP RNOPublisher, Pagestream*, Professional Page*, Saxon Publisher Publishing, Pagestream* Pagestream*
Scanning SCANdal FxScan*, ScanQuix* SCANdal (Sane) SCANdal
OCR gOCR Tesseract
Text Editing Jano Editor (already installed by default), EdiSyn, Annotate, Vim, FrexxEd src, NoWinEd, Annotate, GoldED/CubicIDE*, CygnusED*, Turbotext, Protext*, NoWinED, Notepad, Annotate, CygnusED*, NoWinED, MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate,
Font Designer ? Barcode fonts, Online font converter, TypeSmith*, SaxonScript (GetFont Adobe Type 1), ? ?
Drawing Vector ZuneFIG previously AmiFIG Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, MindSpace, amifig, SteamDraw, amiFIG,
Remote Desktop (server) ArosVNCServer, AmiVNC, AVNC AmiVNC MorphVNC, vncserver
Remote Desktop (client) ArosVNC, rdesktop, TwinVNC, VVA, RDesktop TwinVNC, RDesktop TwinVNC, RDesktop

* Commercial product.

Audio[edit | edit source]

Audio AROS(x86) AmigaOS3(68k) AmigaOS4(PPC) MorphOS(PPC)
Playing playback Audio mp3Player, Mplayer, [ HarmonyPlayer hp], playcdda CDs, WildMidi Player, UADE mod player, [], AmiNetRadio, AmigaAmp, playOGG, TuneNet, SimplePlay, AmigaAmp, TKPlayer AmiNetRadio, Mplayer, Kaya, AmigaAmp
Editing Audio Audio Evolution 4 Samplitude Opus Key, HD-Rec, SoundFX, HD-Rec, AmiSoundED, Audio Evolution 4 HD-Rec, Audio Evolution 4 to come
Editing Tracker Music Protrekkr 2.54 included with Icaros 2.x, Protrekkr, Schism Tracker, MilkyTracker, HivelyTracker, [ Radium in AROS already], libMikMod, MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio, MilkyTracker, HivelyTracker, GoatTracker MilkyTracker, GoatTracker, DigiBooster,
Editing Music Other (Midi via CAMD, Live Looping or Audio Misc) early wip Bars and Pipes, Bars'n'Pipes, MusicX*, Deluxe Music*, Horny, HD-Rec, Camouflague*, CAM-D, HD-Rec, Rockbeat, Bars'n'Pipes, Horny, Audio Evolution 4, Bars'n'Pipes,
Sound Sampling Audio Evolution 4, Quick Record, Audio Evolution 3, Samplitude Opus Key, Audiomaster IV*, HD-Rec, Audio Evolution 4, HD-Rec, Audio Evolution 4,
CD/DVD burn FryingPan, FryingPan, MakeCD, FryingPan, AmiDVD, FryingPan, Jalopeano,
CD/DVD audio rip Lame, Quick CDrip, Lame, Ncode + Rexx, Lame, Lame, Flac ripper,
MP3 v1 and v2 Tagger id3ren (v1), mp3info, MP3TagEditor v1 and v2, MPTool, ID3ren, MPGtx,
Audio Convert Online Convert, SoundBox, SoundBox Key, SampleE, sox ? ?
Streaming i.e. despotify
DJ mixing jamming
Radio Automation Software Rivendell, Campware LiveSupport, SourceFabric AirTime, MediaBox404,

* Commercial product.

Video Creativity and Production[edit | edit source]

Video AROS(x86) AmigaOS3(68k) AmigaOS4(PPC) MorphOS(PPC)
Playing Video Mplayer, CDXL player, IffAnimPlay, VAMP, Frogger*, AMP2, MPlayer, RiVA*, MooViD*, DvPlayer, MPlayer MPlayer, Frogger, AMP2, VLC
Streaming Video Mplayer, ? Mplayer, Gnash, Tubexx Mplayer, OWB, Tubexx
Playing DVD AMC*, Mplayer AMP2, Frogger AMC*, DvPlayer*, AMP2, Mplayer
Screen Recording Screenrecorder, [ ], [ ], [ ], [ ], ? ? Screenrecorder,
Create and Edit Individual Video [ Mencoder], [ Quick Videos], AVIbuild, FrameBuild, Mainactor Broadcast*, Video Toaster, Broadcaster Elite, MovieShop, Adorage, VHI studio*, FFMpeg/GUI Blender, Mencoder, FFmpeg

* Commercial product.

Misc Application[edit | edit source]

Misc Application AROS(x86) Amiga OS3 (68k) AmigaOS4(PPC) MorphOS(PPC)
File Management DOpus, [ DOpus Magellan], [ Scalos], [ ], DOpus, DOpus Magellan, ClassAction, FileMaster, DM2, DirWork 2*, DOpus, Filer, AmiDisk DOpus
File Verification / Repair md5 (linux shell), workpar2 (PAR2), cksfv from website, ? ? Par2,
App Installer Jack InstallerNG, Grunch, Jack Jack
C/C++ IDE Murks, FrexxEd, Annotate, Cubic IDE*, Annotate, XDME, Annotate, CodeBench Cubic IDE*, Anontate,
Gui Creators MuiBuilder, GadtoolBox, GadtoolBox to E,

IEditor, Designer Src, GTX Convert,

? [ MuiBuilder],
Catalog .cd .ct Editors FlexCat SimpleCat, FlexCat SimpleCat, FlexCat SimpleCat, FlexCat
Repository Git ? Git Git
Filesystem Backup MyMirror, MrBackup, Quarterback Tools*,
Filesystem Repair Quarterback Tools, [ ], [ ], [ ],
Multiple File renaming DOpus 4 or 5, MultiRen, Rename2u,
Anti Virus ? VChecker, ? ?
Random Wallpaper Desktop changer [ DOpus5], [ Scalos],
Alarm Clock, Timer, Stopwatch, Countdown DClock, AlarmClock, [],
Fortune Cookie Quotes Sayings AFortune,
Languages Fun School,
Mathematics (Xcas, etc.), mathX Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ], Yacas Yacas
Classroom Aids
Skills Builder

* Commercial product.

Misc Application 2[edit | edit source]

Misc Application AROS(x86) AmigaOS3(68k) AmigaOS4(PPC) MorphOS(PPC)
BASIC X-AMOS, SDLBasic, Alvyn, Basic4SDL, Ace Basic, Amiblitz 3, Amos Pro, ACE Basic, ? sdlBasic
OSK On Screen Keyboard ? OSK ? ?
Screen Magnifier Magnifying Glass Magnification ZoomIT,
Comic Book CBR CBZ format reader viewer comics, ? ? ?
Ebook Reader ? ? ? ?
Ebook Converter ? ? ? ?
Text to Speech, flite, translator, Die Giga Engine, FLite FLite
Speech Voice Recognition Dictation - CMU Sphinx, Julius, ISIP, ? ? ? ?
Fractals ? ZoneXplorer, Various, ? ?
World Construction ? Vista Pro and World Construction Set ? ?
Astronomy Digital Almanac (ABIv0 only), Digital Almanac, Distant Suns*, Digital Universe*, Digital Almanac, Distant Suns*, Digital Universe*, Digital Almanac,
CAD oCADis, avoCADo, FreeCAD python, ? XCad (GFACAD)*, MAXONcad)*, Cycas*, DynaCadd*, ? ?
PCB design ? SchemariCAD, [ ], [ ], [ ], ? ?
Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree) [ Origins], [ Your Family Tree], [ ], [ ], [ ],
Screen Display Blanker screensaver Blanker Commodity (built in), GarshneBlanker (can be buggy), MultiCX, ModernArt Blanker,
Maths Graph Function Plotting MUIPlot,
App Utility Launcher Dock toolbar [ BoingBar], Dockbot,

* Commercial product.

Games & Emulation[edit | edit source]

Some emulators require OpenGL to function and if the sound and emulation is fast, adjust ahi prefs channels, frequency and unit0 and unit1.

Free public domain roms for use with emulators can be found here as most of the rest are covered by copyright rules. If you like to read about old games see here and here and a blog about old computers. Possibly some of the best selling of all time. Wiki with emulated systems list.

changetaskpri -1

Games Emulation AROS(x86) AmigaOS3(68k) AmigaOS4(PPC) MorphOS(PPC)
Games Emulation Amstrad CPC Caprice32 (OpenGL & pure SDL), Arnold, CPC Html5 Online, CPC Box javascript, [1] [2],
Games Emulation Apple2 and 2GS
Games Emulation Arcade Mame, SI Emu (ABIv0 only), Mame, xmame, amiarcadia, Mame,
Games Emulation Atari 2600 Stella,
Games Emulation Atari 5200
Games Emulation Atari 7800
Games Emulation Atari 400 800 130XL Atari800,
Games Emulation Atari Lynx Handy (ABIv0 only),
Games Emulation Atari Jaguar
Games Emulation Bandai Wonderswan
Games Emulation BBC Micro and Acorn Electron BBC Micro Online, BeebEm, B-Em, Elkulator, ElectrEm,
Games Emulation Dragon 32 and Tandy CoCo Xroar,
Games Emulation Commodore C16 Plus4
Games Emulation Commodore C64 Vice (ABIv0 only), C64 Online, Frodo, viceplus, Vice,
Games Emulation Commodore Amiga Janus UAE, Emumiga, n/a UAE, UAE,
Games Emulation Japanese MSX MSX2 JS based MSX Online,
Games Emulation Mattel Intelivision
Games Emulation Mattel Colecovision and Adam
Games Emulation Milton Bradley (MB) Vectrex JS based Vectrex Online,
Games Emulation Nintendo Gameboy vba no sound, JS based Gameboy Online, vba
Games Emulation Nintendo NES EmiNES, Nes Online, Fceu, vNes Online, AmiNES, darcNES, amines
Games Emulation Nintendo SNES Zsnes, ? warpsnes Snes9x,
Games Emulation Nintendo N64 Mupen64+, Mupen64+, ? ?
Games Emulation NEC PC Engine ? Hugo, Mednafen, tgemu
Games Emulation Sega Master System (SMS) Dega, sms, osmose
Games Emulation Sega Genesis/Megadrive gp no sound, DGen, Genplus, genesisplus
Games Emulation Sega Saturn ? Yabause,
Games Emulation Sinclair ZX80 and ZX81
Games Emulation Sinclair Spectrum Fuse (crackly sound), SimCoupe, FBZX slow, Speccy Online, Asp, Speculator, X128, [3]
Games Emulation Sinclair QL ? QDOS4amiga
Games Emulation SNK NeoGeo Pocket gngeo, NeoPop,
Games Emulation Sony PlayStation FPSE, FPSE
Games Emulation Tangerine Oric and Atmos Oricutron Oricutron Oricutron
Games Emulation TI 99/4 99/4A TI4Amiga
Games Emulation HP 38G 40GS 48 49G/50G] Graphing Calculators
Games Emulation TI 58 83 84 86 - 89 92 Graphing Calculators
MB Milton Bradley Vextrex Vectrex OpenGL,
Games AROS Amiga OS Amiga OS4 Morphos
Games Action - openlara, opentomb Thrust, Worms,
Games Adventure DMJ, [4], Aquaria*(openGL), Infocom, Zork Online. Sierra Sarien, Dragon History for ScummVM,
Games Board [5], Various,
Games Cards Reko Online, Reko,
Games Misc [6], Various HTML5 Games,
Games FPS Doom, Quake, Quake 3 Arena (OpenGL), Cube (OpenGL), Assault Cube (OpenGL), Cube 2 Sauerbraten (OpenGL), FodQuake QuakeWorld, [ Duke Nukem 3D], [ Darkplaces Nexuiz Xonotic], Doom 3 SDL (OpenGL), Hexenworld and Hexen 2, [ Aliens vs Predator Gold 2000 (openGL)], [ Odamex (openGL doom)], Doom, Quake, AB3D, Fears, Breathless, Doom, Quake, Doom, Quake, Quake 3 Arena, S.T.A.L.K.E.R Xray
Games MMORG [ Eternal Lands (OpenGL)], ? ? ?
Games Platform [7], Maze of Galious, Gish*(openGL), Mega Mario,

Giana's Return, Sqrxz, Sqrxz 2, Sqrxz 3, Sqrxz 4, Cave Story,

Games Puzzle [8], Cubosphere (OpenGL), Candy Crisis, Blast Guy Bomberman clone, TailTale,

Best 30 HTML5 Casual Games, Online DHTML Lemmings,

Games Racing (Trigger Rally, VDrift, Ultimate Stunts, Mania Drive, ) Super Tux Kart (OpenGL), F1 Spirit (OpenGL), MultiRacer, Speed Dreams, [9], TORCS,
Games RPG GemRB, nethack, BOH, PA RPG, DNT, Arx Libertatis, Phantasie, Faery Tale, D&D ones, Dungeon Master,
Games Shoot Em Ups Formido, Violetland, Open Tyrian, Starfighter, Alien Blaster, Starfighter,
Games Simulations Freespace 2, GL117, Theme Hospital, Rollercoaster Tycoon, Hedgewars, SimCity, SimAnt, Sim Hospital, Theme Park, [10]
Games Strategy RTSgus, Wargus, Stargus, MegaGlest (OpenGL), UFO:AI (OpenGL), Epiar OpenGL, C&C Html5, FreeCiv, HTML5 FreeCiv, [11]
Games Sandbox Minecraft(TM) Craft, [ Minetest], [ infiniminer],
Battle Royale, Copter Royale,, Nugget Royale,,

Application Guides[edit | edit source]

Web Browser Fab's Odyssey OWB[edit | edit source]

  • html5 100/100
  • 334 out of 555 points

updating Mesa is "walk in the park" compared to updating WebKit engine in Odyssey, updating a web browser is not a trivial matter even for experienced programmers. The os interface code is mostly separated from the webkit engine in a separate set of files, there is still enough, that is interwoven and one needs to know a lot about how these interface, so huge effort when debugging. OWB uses Webkit1 and should not be used for vital personal data handling unlike Webkit2 which added further security features later

If you have over 1gb of ram memory, copy the OWB browser drawer (directory) to RAM: and run the browser from there (ie. RAM:OWB) - saves hard disk wear and tear

In Dopus4 or the desktop of choice, you could drag the OWB drawer (directory) from Extras:Internet/ to the RAM Disk icon on the desktop. Double click on the RAM Disk to open and again on the OWB icon. Right click on the OWB app

Slow internet experience can sometimes be improved by deleting cookies.db Please backup your cookies file as it's quite difficult to log in anymore if you lose them...

New CA certification file for MuiOWB/Odyssey needed from cacert.pem but expects to be ca-bundle.crt from, obtained from

Around 2016, adding "?disable_polymer=true" to a YouTube url would disable the new web component called polymer which is possibly why embedded videos or youtube links sometimes work with Odyssey. Although playback is hit or miss even after first successful play though...

Youtube's main page interface stopped working years ago but can sometimes work if you spoof the browser as IPad and use instead. Sometimes is unusable for AROS as Google likes breaking YouTube support often. AROS will need at least a new youtube.js type script written to gain some access back again

play any YouTube video then add “&app=m&persist_app=1" behind the video URL in the address bar at the top of the screen. Now, your YouTube desktop version will display as a mobile version.

Downloading video used to be easy but no longer, add ezdownload.js to the scripts folder list just like youtube.js. YouTube HTML5 converter scripts have been useless for a while now, the Scripts drawer (folder), located within the Odyssey drawer/folder ...

Certain versions of OWB allow you to download the video to hard/ram disk and watch it with MPlayer after. Just start playing a video and then open the Network Activity window, and right click the video stream and copy its url. Then paste the url in the OWB to get it displayed directly in the internal media player... and then right click over the video and select "Download media" option. This may sound complicated, but when you learn it, it's just few clicks and you can download almost any video to a file

Also, Youtube HTML5 player needs the youtube_fullscreen_fix.js script for youtube, etc

E-mail SimpleMail[edit | edit source]

SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes.

Please read more on this User list


Be sure to activate the pop3 usage in your gmail account setup / configuration first.

pop3: Use SSL: Yes Port: 995

smtp: (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587

Hotmail/MSN/outlook/Microsoft Mail mid-2017, all accounts will be migrated to Office 365 / Exchange

Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013.

If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way:

1. Email/Password 2. Manual 3. IMAP 4.

  • Incoming:, port 993, SSL/TLS should be checked
  • Outgoing:, port 587, SSL/TLS should be checked
  • POP server name, port 995, POP encryption method SSL
Yahoo  Mail

On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts.

Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well.

Incoming Mail (IMAP) Server

  • Server -
  • Port - 993
  • Requires SSL - Yes

Outgoing Mail (SMTP) Server

  • Server -
  • Port - 465 or 587
  • Requires SSL - Yes
  • Requires authentication - Yes

Your login info

  • Email address - Your full email address (
  • Password - Your account's password
  • Requires authentication - Yes

Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program.

You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client.

Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3

  • Set the POP server for incoming mails as You will have to enable “SSL” and use 995 for Port.
  • “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “”.
  • “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “”. E.g.
  • “Password” – Your Yahoo Mail password.

Yahoo! Mail Plus users may have to set POP server as and SMTP server as

  • Set the SMTP server for outgoing mails as You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work.

E-mail YAM[edit | edit source]

This email client is POP3 only if the SSL library is available YAM Freelists

One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server.

Possible issues

Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue.

getting a "Couldn't initialise TLSv1 / SSL error

Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library


Incoming Mail (POP3) Server - requires SSL: Use SSL: Yes Port: 995

Outgoing Mail (SMTP) Server - requires TLS: (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587

Account Name: your Gmail username (including '') Email Address: your full Gmail email address ( Password: your Gmail password

Anyway, the SMTP is port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (, only on port 995 instead. access SMTP server address: SMTP user name: Your full email address (not an alias) SMTP password: Your password SMTP port: 587 SMTP TLS/SSL encryption required: yes 

Yahoo  Mail
“POP3 Server” – Set the POP server for incoming mails as You will have to enable “SSL” and use 995 for Port.
“SMTP Server” – Set the SMTP server for outgoing mails as You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work.
“Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “”.
“Email Address” – Your Yahoo Mail address i.e. your email address including the domain “”. E.g.
“Password” – Your Yahoo Mail password.

Yahoo! Mail Plus users may have to set POP server as and SMTP server as

Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program.

You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client.

Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3

Microsoft Outlook Express Mail 

1. Get the files to your PC. By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received.

2. Open up a brand new Outlook Express. Just configure the account to use as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM.

3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too.

4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments.

5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format.

FTP[edit | edit source]

Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort.

First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command:

ifconfig -a

Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan:

Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New". You can now add a new entry for your Icaros server machine:

1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before.

2) click on Custom Options:

1) go to Miscellaneous in the left menu;

2) Ensure "Passive Transfers" is NOT selected;

3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source:

1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and

2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes.

Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well.

IRC Internet Relay Chat[edit | edit source]

Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many.

Just type a message in lowercase' letters and it will be posted to all in the AROS channel. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying.

Other things to type in - replace <message> with a line of text and <nick> with a person's name



/whois <nick>

/msg <nick> <message>

/query <nick> 

/away <message>

/quit <going away message> 

Intro guide here.

IRC Primer can be found here in html, TXT, PostScript.

Issue the command /me <text> where <text> is the text that should follow your nickname. Example: /me slaps ajk around a bit with a large trout

/nick <newNick>

/nickserv register <password> <email address>

/ns instead of /nickserv, while others might need /msg nickserv

/nickserv identify <password>

Alternatives: /ns identify <password> /msg nickserv identify <password>

IRC WookieChat[edit | edit source]

WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities.

add smilies drawer/directory

run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000

select a server / server window

  • nickname
  • user name
  • real name - optional

Once you configure the client with your preferred screen name, you'll want to find a channel to talk in.


  • New Server - click on this to add / add extra - change details in section below ths click box
  • New Group
  • Delete Entry
  • Connect to server
  • connect in new tab
  • perform on connect

Change details

  • Servername - change text in this box to one of the below Server:
  • Port number - no need to change
  • Server password
  • Channel - add #channel from below
  • auto join - can click this
  • nick registration password,

Click Connect to server button above

Channel: #aros


Channel: #amigaworld or #amigans 
On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC)
Channel #team*amiga  
BitlBee and Minbif are IRCd-like gateways to multiple IM networks
Port 6667 
Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server. 

Other servers,

  1. - (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a) - Ports 6660-6669 7001 (SSL)

Multiple server support
"Perform on connect" scripts and channel auto-joins
Automatic Nickserv login
Tabs for channels and private conversations
Incoming and Outgoing DCC SEND file transfers
Colours for different events
Logging and automatic reloading of logs
mIRC colour code filters
Configurable timestamps
GUI for changing channel modes easily
Configurable highlight keywords
URL Grabber window
Optional outgoing swear word filter
Event sounds for tabs opening, highlighted words, and private messages
DCC CHAT support
Doubleclickable URL's
Support for multiple languages using LOCALE
Clone detection
Auto reconnection to Servers upon disconnection
Command aliases
Chat display can be toggled between AmIRC and mIRC style
Counter for Unread messages
Graphical nicklist and graphical smileys with a popup chooser

IRC Aircos[edit | edit source]

Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc.

XMPP Jabberwocky[edit | edit source]

Servers are setup and close down at random 

You sign up to a server that someone else has setup and access chat services through them.

The two ways to access chat from jabberwocky

Jabberwocky -> Server -> XMPP -> open and ad-free 
Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems 

The service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) but you can use's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead.

The best way to use jabberwocky is in conjunction with a public jabber server with transports to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc.

You have to register with one of the servers, this list or another list, this security XMPP list,

Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other.

Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password.

Jabber ID (JID) identifies you to the server and other users.

Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open.

Roster (contacts list)

Chatrooms (MUC) are available

File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL.

Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN.

There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. AmiPhone and Speak Freely was an early attempt voice only contact. SIP and Asterisk are other PBX options.


If you're using the XMPP transport provided by Facebook themselves,, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway.

1. launch jabberwocky
2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu
3. your jabber ID will be where user is your user ID
4. your password is your normal facebook password
5. to save this for next time, click the popup gadget next to the ID field

6. click the 'add' button
7. click the 'close' button
8. click the 'connect' button

you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky.

Read more here

for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as with your Facebook password as the password


For a few years, there has been added a twitter transport. Servers include, and .

An How-to

Read more

no support at the moment best to use a web browser based client


The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check.

Register on a Jabber server, e.g. this one works: Then login into Jabberwocky with the following login data e.g. / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the server with your ICQ account.

Yahoo Messenger

although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies


early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time....

Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.)

You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting. should appear in the window.

From this JW group guide which helps with this process in a clear, step by step procedure.

1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address.

2. Log on to the Jabber server of your choice and do the following:

  • Select the "Windows/Agents" menu option in Jabberwocky.
  • Select the MSN Agent from the list presented by the server.
  • Click the Register button to open a new window asking for:
    • Username = passort account email address, typically your hotmail address.
    • Nick = Screen name to be shown to anyone you add to your buddy list.
    • Password = Password for your passport account/hotmail address.
  • Click the Register button at the bottom of the new window.

3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN.

4. Once you are registered, you can now add people to your buddy list. Note that you need to include the msn. ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require msg.gate. before the server name, so try both to see what works.

If my friend's msn was and my jabber server was then

or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: You type: And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time...

Google Talk

any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either or a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users.

implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP)

support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format

Video Player MPlayer[edit | edit source]

Many of the menu features (such as doubling) do not work with the current version of mplayer but using


mplayer -vf scale=800:600 file.avi


mplayer -vf scale=854:480 file.avi

if you want gui use;

mplayer -gui 1 <other params> file.avi
stack 1000000

; using AspireOS 1.xx 
; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:

; using Icaros Desktop 1.x 
; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:

; using Icaros Desktop 2.x 
; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil:

cd RAM:MPlayer
run MPlayer -gui > Nil:
;run MPlayer -gui -ao ahi_dev -playlist > Nil: 

MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache

MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface

Old 8bit 16bit remixes chip tune game music

BBC Radio streams

Change the Mime-Types in Odyssey (Settings -> Preferences -> Mime Types)

check if you have "MIME Types -> video/flv" set as:

Extension: flv
Viewer: [your path to MPlayer here]
-cache 8192 %l

And the same for the other video filetypes.

Also, on OWB's Settings Content tab, check "Allow plugins".

If it still doesn't work, you can try to delete your OWB prefs/settings and start from scratch.

  • 200x UDP-based protocols like RTP
  • 2009 HTTP Live Streaming (HLS) remains a widely used standard in adaptive bitrate video and Apple alternative to MPEG-DASH

HTML5 Video Player and MediaSource Extensions MSE for playback,

HTTP Live Streaming client, HLS security, OLD video.js in action

The stream is just MPEG-TS HLS which most browsers are perfectly capable of playing. Too bad the Twitch website appears to be trying to do the heavy lifting that the player should be doing in JavaScript…works by transmuxing MPEG-2 Transport Stream x264 video compression and AAC/MP3 streams into ISO BMFF (MP4)

They just point back to the bloated twitch website. And by bloated I mean bloated - they even went to the lengths of optimizing their player with wasm... and you really don't need to do this to play HLS, you can just pass the url to the video tag element and that's it.

You could probably patch the website with a user script though. All you really need is to obtain the m3u8 URL with a valid key file / access token

   You should be able to obtain the m3u8 address with something as simple as curl cmdline, really. It's mostly just about sending a POST request to the twitch APIS.
   i installed wget and curl
   but i have no idea how i can set it
   I copied to a text file named "index.js" in the link you put.
   then from shell I typed:
   ram:curl index.js
   but surely missing the parameters to make it work
   is it possible to have an example of its use?

You need to understand what you're doing there (as in, know JavaScript and understand what kind of data needs to be sent to the twitch API and how). Just sayin' it's doable, not how to do it exactly.

M3U (or M3U8) is a plain text file format originally created to organize collections of MP3 files. The format is extended for HLS, where it’s used to define media streams. In HLS there are two kinds of m3u8 files:

  • Media playlist: containing URLs of the files needed for streaming (i.e. chunks of the original video to be played).
  • Master playlist: contains URLs to media playlists which, in turn, contain variants of the same video prepared for different bandwidths.

A so-called M3U8 live stream URL is nothing more than URLs to M3U8 files, such as:

The first four lines are global (header) metadata for this M3U8 playlist.
The EXT-X-VERSION is the version of the M3U8 format (must be at least 3 if we want to use EXTINF entries).
The EXT-X-TARGETDURATION tag contain the maximum duration of each video “chunk”. Typically, this value is around 10s.

The rest of the document contains pairs of lines such as:


This is a video “chunk.” This one represents the 00001.ts chunk which is exactly 10.344822 seconds long. When a client video player needs to start a video from a certain point in said video, it can easily calculate which .ts file it needs to request by adding up the durations of previously viewed chunks. The second line can be a local filename or a URL to that file.

The M3U8 file with its .ts files represents the simplest form of a HLS stream – a media playlist.

Please keep in mind that not every browser can play HLS streams by default.

Master Playlist or Index M3U8 File

The previous M3U8 example points to a series of .ts chunks. They are created from the original video file, which is resized encoded and split into chunks.

That means we still have the problem outlined in the introduction – what about clients on very slow (or unusually fast) networks? Or, clients on fast networks with very small screen sizes? It makes no sense to stream a file in maximum resolution if it can’t be shown in all its glory on your shiny new phone.

M3U8 in HSL

HLS solves this problem by introducing another “layer” of M3U8. This M3U8 file will not contain pointers to .ts files, but it has pointers to other M3U8 files which, in turn, contain video files prepared in advance for specific bitrates and resolutions.


The video player will pick pairs of lines such as:


These are called variants of the same video prepared for different network speeds and screen resolutions. This specific M3U8 file (640x360_1200.m3u8) contains the video file chunks of the video resized to 640x360 pixels and prepared for bitrates of 1296kbps. Note that the reported bitrate must take into account both the video and audio streams in the video.

The video player will usually start playing from the first stream variant (in the previous example this is 640x360_1200.m3u8). For that reason, you must take special care to decide which variant will be the first in the list. The order of the other variants isn’t important.

If the first .ts file takes too long to download (causing “buffering”, i.e. waiting for the next chunk) the video player will switch to a to a stream with a smaller bitrate. And, of course, if it’s loaded fast enough it means that it can switch to a better quality variant, but only if it makes sense for the resolution of the display.

If the first stream in the index M3U8 list isn’t the best one, the client will need one or two cycles until it settles with the right variant.

So, now we have three layers of HLS:

  • Index M3U8 file (the master playlist) containing pointers (URLs) to variants.
  • Variant M3U8 files (the media playlist) for different streams for different screen sizes and network speeds. They contain pointers (URLs) to .ts files.
  • .ts files (chunks) which are binary files with parts of the video.

ZunePaint[edit | edit source]

simplified typical workflow

  • importing and organizing and photo management
  • making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time
  • exporting your images in the best format available with the preservation of metadata

Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes.

For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction.

For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject.

Product photography usually requires a lot of sharpening, spot removal, and focus stacking.

For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term.

  • White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green
  • Exposure - exposure compensation, highlight/shadow recovery
  • Noise Reduction - during RAW development or using external software
  • Lens Corrections - distortion, vignetting, chromatic aberrations
  • Detail - capture sharpening and local contrast enhancement
  • Contrast - black point, levels (sliders) and curves tools (F12 and K)
  • Framing - straighten () and crop (F12 and F)
  • Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs -
  • Resizing - enlarge for a print or downsize for the web or email (F12 and D)
  • Output Sharpening - customized for your subject matter and print/screen size

White Balance - F12 and K

scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above.

Exposure correction

F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up

Workflows in practice

  • Undo - Right AROS key or F12 and Z
  • Redo - Right AROS key or F12 and R

First flatten your image (if necessary) and then do a rotation until the picture looks level.

  • Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone.
  • Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture.
  • After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK.

And save your picture

Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking.

  • Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas.
  • Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal.

Remove fringe/halo

saving image as png rather than jpg/jpeg to keep transparency background intact.

Combining photos (cut, resize, positioning, lighting/shadows (flips) and colouring) - search out photos where the subjects are positioned in similar environments and perspective, to match up, simply place the cut out section (use Magic Wand and Erase using a circular brush (varied sizes) with the hardness set to 100% and no spacing) over the worked on picture, change the opacity and resize to see how it fits. Clone areas with a soft brush to where edges join, Adjust mid-tones, highlights and shadows.

A panorama is a wide-angled view of a physical space. It is several stable, rotating tripod based photographs with no vertical movement that are stitched together horizontally to create a seamless picture. Grab a reference point about 20%-30% away from the right side, so that this reference point allows for some overlap between your photos when getting to the editing phase.

Spotlights - triange of white opaque shape

HDR image consists of three movement free pictures, one overexposed (too bright), one normal and one under-exposed (too dark). These three are merged in software (over, under and then normal at the bottom) to provide a high dynamic range.

Aging faces - the ears and nose are more pronounced i.e. keep growing, the eyes are sunken, the neck to jaw ratio decreases, and all the skin shows the impact of years of gravity pulling on it, slim the lips a bit, thinner hairline, removing motion

Implemented colour model representations Mathematical approach - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well.

  • RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting)
  • YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color video

Not implemented

  • HSV/HSB - hue saturation value (brightness) or HSVA with additional alpha transparent (cone of color-nonlinear transformation of RGB)
  • HSL - slightly different to above (spinning top shape)
  • CIE Lab - Commission Internationale de l'Eclairage based on brightness, hue, and colourfulness
  • YCbCr/YCC
  • CMYK CMJN (subtractive) profile is a narrower gamut (range) than any of the digital representations, mostly used for printing printshop, etc.
  • Pantone (TM) Matching scale scheme for DTP use
  • SMPTE DCI P3 color space (wider than sRGB for digital cinema movie projectors)

Color Gamuts

  • sRGB Rec. 709 (TV Broadcasts)
  • DCI-P3
  • Abode RGB
  • NTSC
  • Pointers Gamut
  • Rec. 2020 (HDR 4K streaming)
  • Visible Light Spectrum


White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced. If you have sky you'll see the blue channel further off to the right.

RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30%

RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel.

The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area). By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points. By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative .

RGB Curves

  • Move left endpoint (black point) up or right endpoint (white point) up brightens
  • Move left endpoint down or right endpoint down darkens

Color Curves

  • Dragging up on the Red Curve increases the intensity of the reds in the image but
  • Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan

(Green’s complimentary color is magenta, and blue’s is yellow.)

YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative .

The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much Can be used to create a negative image but also With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow. With V (Cr), this is the same principle but with Red and Cyan. e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green.

YUV simultaneously adds to one side of the color equation while subtracting from the other. using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments

sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping.

Implemented/ * would like to see for simplification and ease of use

basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur,

  • negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc.

adjust / cosmetic tools such as crop,

  • reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc.
  • red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate,

effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects)

  • blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc.

borders such as

  • dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc.

brushes e.g.

  • frost, smoke, etc.

and manual control of

fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles

perspective correction

levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows

curves - Color Adjustment and Brightness/Contrast

color balance

one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc.

Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors

decompose layer into a set of layers with each holding a different type of pattern that is visible within the image

any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha If you create your image without transparency then the Alpha channel is not present, but you can add later.

File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr

Image Picture Formats

  • low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary.
  • linear high dynamic range (HDR) images (PFM, ILM .EXR, jpg, cr2 (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it)

An old version of dcraw

There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible.

A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values.

The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible.

Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured.

  • Exposure triange - aperture, ISO and shutter speed - the three fundamental elements working together so you get the results you want and not what the camera appears to tell you
  • The Manual/Creative Modes on your camera are Program, Aperture Priority, Shutter Priority, and Manual Mode. On most cameras, they are marked “P, A, S, M.” These stand for “Program Mode, Aperture priority (A or Av), Shutter Priority (S or TV), and Manual Mode.
  • letters AV (for Canon camera’s) or A (for Nikon camera’s) on your shooting mode dial sets your digital camera to aperture priority - If you want all of the foreground and background to be sharp and in focus (set your camera to a large number like F/11 closing the lens). On the other hand, if you’re taking a photograph of a subject in focus but not the background, then you would choose a small F number like F/4 (opening the lens). When you want full depth-of-field, choose a high f-stop (aperture). When you want shallow depth of field, choose a lower fstop.
  • Letter M if the subjects in the picture are not going anywhere i.e. you are not in a hurry - set my ISO to 100 to get no noise in the picture -
  • COMPOSITION rule of thirds (imagine a tic-tac-toe board placed on your picture, whatever is most interesting or eye-catching should be on the intersection of the lines) and leading lines but also getting down low and shooting up, or finding something to stand on to shoot down, or moving the tripod an inch -
  • Focus PRECISELY else parts will be blurry - make sure you have enough depth-of-field to make the subject come out sharp. When shooting portraits, you will almost always focus on the person's nearest eye
  • landscape focus concentrate on one-third the way into the scene because you'll want the foreground object to be in extremely sharp focus, and that's more important than losing a tiny bit of sharpness of the objects far in the background.

Also, even more important than using the proper hyperfocal distance for your scene is using the proper aperture -

  • entry level DSLRs allow to change which autofocus point is used rather than always using the center autofocus point and then recompose the shot - back button

Free royalty pictures, , ,,

Lunapaint[edit | edit source]

Pixel based drawing app with nice onion-skin animation function

YouTube movies of DigiCel Flipbook. It becomes quite clear that there is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc.

Films like Princess and the Frog and Simpsons the movie is made on this piece of software. It's astonishingly simplistic when you look at it. But it gets the job done. Just like LunaPaint could. I tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software.

author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added.

  • add [Frame Add] / [Frame Del]
  • whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble
  • pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes.
  • Undo is something I longed for ages in Lunapaint.
  • to import into the current layer, other types of images (e.g. JPEG) besides RAW64.
  • implement graphic tablet features support


Miss it very much: UNDO ERASER COLORPICKER - has to show on palette too which color got picked. BACKGROUND COLOR -Possibility to select from "New project screen"

Miss it somewhat: ICON for UNDO ICON for ERASER ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often ) BRUSH - possibility to cut out as brush not just copy off image to brush


Miss it very much: NUMBER OF CELLS - Possibity to change total no. of cells during project ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush

Miss it somewhat: ADD/REMOVE FRAMES: Add/remove single frame

In general LunaPaint is really well done. It feels like I'm using a new DPaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, gif or mng some day.

LAYERS -Layers names doesn't get saved globally in animation frames -Layers order doesn't change globally in an animation. I would want this as default.

EXPORTING IMAGES -Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers. -Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them) -Exporting images filenames should be fore example file0001, file0002...file0010 instead as of now file1, file2...file10

LOAD/SAVE (Preferences) -Make a setting for the default "Work" folder.

  • Destroyed colors if exported image/frame has layers
  • mystic color cycling of the selected color while stepping frames back/forth (annoying)

Lodepaint[edit | edit source]

Pixel based painting artwork app

Grafx2[edit | edit source]

Pixel based painting artwork app

Vector Graphics ZuneFIG[edit | edit source]

Vector Image Editing of files .svg .ps .eps

Golden ratio divine proportion golden section mean phi fibonnaci term of 1.618 1.6180339887498948482 including mathematical progression sequences a+b of 1, 2, 3, 5, 8, 13, 21, 34, etc. Used it to create sculptures and artwork of the perfect ideal human body figure, logos designs etc. for good proportions and pleasing to the eye for best composition

options for using rgb or cmyk colours, or grayscale color spaces The printing process uses four colors: cyan, magenta, yellow, and black (CMYK). Different color spaces have mismatches between the color that are represented in RGB and CMYKA.

  • Objects - raise lower rotate flip aligning snapping
  • Path - unify subtract intersect exclude divide
  • Colour - fill stroke
  • Stroke - size
  • Brushes -
  • Layers -
  • Effects - gaussian bevels glows shadows
  • Text -
  • Transform -

AmiFIG (xfig manual) 
Showing all Windows open in AmiFIG.
All windows available to AmiFIG.

for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent

Menu options
  • Load - fig format but import(s) SVG
  • Save - fig format but export(s) eps, ps, pdf, svg and png
  • PAN = Ctrl + Arrow keys
  • Deselect all points

There is no selected object until you apply the tool, and the selected object is not highlighted.

Metrics - to set up page and styles - first window to open on new drawings
Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s)
  • Shapes - circles, ellipses, arcs, splines, boxes, polygon
  • Lines - polylines
  • Text "T" button
  • Photos - bitmaps
  • Compound - Glue, Break, Scale
  • POINTs - Move, Add, Remove
  • Objects - Move, Copy, Delete, Mirror, Rotate, Paste

use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s)

  • Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square
Attributes which provide change(s) to the above primitives
  • Color
  • Line Width
  • Line Style
  • arrowheads

Choose from freehand, charts, figures, magnet, etc.

Library - allows .fig clip-art to be stored
  • compound tools to add .fig(s) together
FIG 3.2 Format as produced by xfig version 3.2.5
1200 2
4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01
  1. change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right).
  2. The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13.
  3. The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default).
  4. The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20.
  5. The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees).
  6. twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch.
  7. thirteenth number is the “y-position” from the top using the same unit convention as before.
  • The nested text string is what you entered into the textbox.
  • The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence.
Just to note there are no layers, no 3d functions, no shading, no transparency, no animation

Music Mods[edit | edit source]

Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI.

Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds.

Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock.

In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments.

Protrekkr (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr])

If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon

  • Sample
  • Note - Effect
  • Track (column) - Pattern - Order

It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker) The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song.

Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head.

  • Up-tempo means the track should be reasonably fast, but not super-fast.
  • Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line.
  • Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds.
  • Moody - minor key

First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too.

This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song.

The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats.

Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section.

The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords.

Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave.

To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them.

For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth.

The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song.

The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song.

The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D.

Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick".

The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6.

The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster).

Base pattern

When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02".

In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow.


Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel.

In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation.

In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix.

Bass line

There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live".

The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key.


The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm.


Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention.

A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes.

Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form.

Song structure

Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations.

A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus.

Other single sectional song structures are

Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody 
AABA Song Form - early popular, jazz and gospel fading during the 1960s 
AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s 
Verse/Chorus/Bridge Song Form
ABAB Song Form
ABAC Song Form
ABCD Song Form
AAB 12-Bar Song Form - three four-bar lines or sub-sections 
8-Bar Song Form
16-Bar Song Form
Hybrid / Compound Song Forms

The most common building blocks are:

  2. VERSE
  10. CODA / OUTRO

The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember.

The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus.


RCTRL: Play song from row 0.

LSHIFT + RCTRL: Play song from current row.

RALT: Play pattern from row 0.

LSHIFT + RALT: Play pattern from current row.

Left mouse on '>': Play song from row 0.

Right mouse on '>': Play song from current row.

Left mouse on '|>': Play pattern from row 0.

Right mouse on '|>': Play pattern from current row.

Left mouse on 'Edit/Record': Edit mode on/off.

Right mouse on 'Edit/Record': Record mode on/off.


LSHIFT + ESCAPE: Switch large patterns view on/off

TAB: Go to next track

LSHIFT + TAB: Go to prev. track

LCTRL + TAB: Go to next note in track

LCTRL + LSHIFT + TAB: Go to prev. note in track

SPACE: Toggle Edit mode On & Off

(Also stop if the song is being played)

SHIFT SPACE: Toggle Record mode On & Off

(Wait for a key note to be pressed

or a midi in message to be received)

DOWN ARROW: 1 Line down

UP ARROW: 1 Line up

LEFT ARROW: 1 Row left

RIGHT ARROW: 1 Row right

PREV. PAGE: 16 Arrows Up

NEXT PAGE: 16 Arrows Down

HOME / END: Top left / Bottom right of pattern

LCTRL + HOME / END: First / last track

F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns

+ - (Numeric keypad): Next / Previous pattern

LCTRL + LEFT / RIGHT: Next / Previous pattern

LCTRL + LALT + LEFT / RIGHT: Next / Previous position

LALT + LEFT / RIGHT: Next / Previous instrument

LSHIFT + M: Toggle mute state of the current channel

LCTRL + LSHIFT + M: Solo the current track / Unmute all

LSHIFT + F1 to F11: Select a tab/panel

LCTRL + 1 to 4: Select a copy buffer


1st and 2nd keys rows: Upper octave row

3rd and 4th keys rows: Lower octave row

RSHIFT: Insert a note off

/ and * (Numeric keypad)

or F1 F2: -1 or +1 octave

INSERT / BACKSPACE: Insert or Delete a line in current track

or current selected block.

LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern

DELETE (NOT BACKSPACE): Empty a column or a selected block.


(Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel).

LCTRL + A: Select entire current track

LCTRL + LSHIFT + A: Select entire current pattern

LALT + A: Select entire column note in a track

LALT + LSHIFT + A: Select all notes of a track

LCTRL + X: Cut the selected block and copy it into the block-buffer

LCTRL + C: Copy the selected block into the block-buffer

LCTRL + V: Paste the data from the block buffer into the pattern

LCTRL + I: Interpolate selected data from the first to the last row of a selection



NEXT PAGE: Select a block

LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them)

LCTRL + U: Transpose the note of a selection to 1 seminote higher

LCTRL + D: Transpose the note of a selection to 1 seminote lower

LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument)

LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument)

LCTRL + H: Transpose the note of a selection to 1 octave higher

LCTRL + L: Transpose the note of a selection to 1 octave lower

LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument)

LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument)

LCTRL + W: Save the current selection into a file


LALT + ENTER: Switch between full screen / windowed mode

LALT + F4: Exit program (Windows only)

LCTRL + S: Save current module

LSHIFT + S: Switch top right panel to synths list

LSHIFT + I: Switch top right panel to instruments list

C-x   xh xx xx hhhh             Volume 
B-x   xh xx xx hhhh             Jump to 
A#x  xh xx xx hhhh hhhh   Slide 
F-x    xh xx xx hhhh            Tempo 
D-x   xh xx xx hhhh             Pattern Break 
G#x  xh xx xx hhhh

h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13

d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19

The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume.

The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex.

Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly. This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it...

The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary.

Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from.

Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note.

   C-2 1 000 - Starts the note playing
   ---      000
   C-3    330 - Starts the slide to C-3 at a speed of 30.
   ---     300 - Continues the slide
   ---     300 - Continues the slide

Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note.

This memory function will only operate in the same channel where the original parameters were set up. There are various other commands which perform two functions at once. They will be described as we come across them.

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A

C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D

C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10

(You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns.

The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa.

Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest. Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use.

Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on)

 C-7 00 .. .. 1B37 <-  Turn Arpeggio effect on
  --- .. .. .. 0000
  --- .. .. .. 0000
  --- .. .. .. 0000
  --- .. .. .. 1B38 <- Change datas
  --- .. .. .. 0000
  --- .. .. .. 0000
  --- .. .. .. 0000
  --- .. .. .. 1B00 <- Turn it off

Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21.

Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from.

Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order. Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off.

Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well.

Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31.

Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart.

Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16.

Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop.

Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato.

Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged.

Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex).

Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work.

Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played!

Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for.

Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000).

effects 0x41 and 0x42 to control the volumes of the 2 303 units

There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine.

It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel).

so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings.

for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top.

In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself.

For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud.

The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation.

Support for the following modules formats:
669 (Composer 669, Unis 669), 
AMF (DSMI Advanced Module Format), 
AMF (ASYLUM Music Format V1.0), 
APUN (APlayer), DSM (DSIK internal format), 
FAR (Farandole Composer), 
GDM (General DigiMusic), 
IT (Impulse Tracker), 
IMF (Imago Orpheus), 
MOD (15 and 31 instruments), 
MED (OctaMED), 
MTM (MultiTracker Module editor), 
OKT (Amiga Oktalyzer), 
S3M (Scream Tracker 3), 
STM (Scream Tracker), 
STX (Scream Tracker Music Interface Kit), 
ULT (UltraTracker), 
UNI (MikMod), 
XM (FastTracker 2),
Mid (midi format via timidity)

Possible plugin options include LV2,

Midi - Musical Instrument Digital Interface[edit | edit source]

A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it). MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music.

  • Channel
  • Messages
  • Sequencing - Vocals? Guitars? MIDI instruments? Drums? Sound design? Workflow,
  • Recording -
  • GUI - Piano roll (FL Studio like) or Tracker, Staves and Notes Notation, Ableton Live, NI Kontakt, KXStudio, ??


Although usually already installed, you can uncompress the timidity.tar.gz (14MB) into a suitable drawer like below's SYS:Extras/Audio/

assign timidity: SYS:Extras/Audio/timidity

added to SYSːs/User-Startup

WildMidi playback

Bars n Pipes sequencer
  • Window - Tracks

Each track can be activated

  • Left - Input tool(s) chosen and their icons placed on the pipeline (which is next to it)
  • Middle - Play, Record, Multi before the sequencer line and Tap
  • Right - Associated output pipeline and final output tool(s). Midi channel selection
  1. Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P.
  2. Choose a track. The B&P screen will contain a track window with a number of tracks shown as pipelines (track1, track2, etc...). To choose a track, simply click on the arrow-icon to high-light it. This icon show whether a track is chosen or not.To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup.
  3. Choose Record for the track. To the right of the MIDI-input icon you can ses a bar. The bar lead to another icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record.
  4. Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose MIDI-channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration.
  5. Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel.
  6. Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features.

  • Tools ptool for the pipelines like (IN) Midi In, Quick Patch, (OUT) Midi Out, etc.

Toolbox contains

  • Accessories paccess plugins like SmerFF to save/load MIDI files, adjust sysex messages,

Options include

  • Menu - Songs load and save in .song format out of the box
  • Group
  • Edit
  • Tool
  • Timing SMTPE Synchronizing
  • Windows
  • Preferences

Windows include

  • Song Construction and Time Line Scoring
  • Mix Maestro
  • Tempo Map

Bars and Pipes Pro 2.5beta3 is using internal 4-Byte IDs, to check which kind of data are currently processed. Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory.

In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN".

The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA). and


How to use Midi In/Out in Protrekkr ?

First of all, midi in & out capabilities of this program are rather limited.

  1. Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time).
  2. Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected).
  3. Go to track section and here you can assign a midi channel to each track of ptk.
  4. Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported.

Also, you can change midicontrollers in the tracker, using '90' in the panning row:

    C-3 02 .. .. 0000....

    --- .. .. 90 xxyy.... << This will set the value 
    --- .. .. .. 0000....    of the controller n.'xx' to 'yy' (both in hex)
    --- .. .. .. 0000....

So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64).

You will need the midi implementation table of your gear to know what you can change with midi controller messages.

N.B. Not all MIDI devices are created equal!

Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard.

Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible.

Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels.

Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it.

A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message.

Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own.

Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List.

MIDI Implementation Chart

But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart.

If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart.

The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks".

The left hand column defines which MIDI functions are being described.
The 2nd column defines what the device in question is capable of transmitting to another device.
The 3rd column defines what the device is capable of responding to.
The 4th column is for explanations of the values contained within these previous two columns.

There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean.

Mode 1: Omni On, Poly; 
Mode 2: Omni On, Mono; 
Mode 3: Omni Off, Poly; 
Mode 4: Omni Off, Mono.

O means "yes" (implemented), X means "no" (not implemented).

Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise).

Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail.

Basic Channel But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on. "Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to. For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels.

On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel. So we might see the default as "1" but the changed as "1-16".

Modes. We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes.

But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device.

If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off".

So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel.

"Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords.

"Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition.

So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4).

We call these combinations the four modes, 1 to 4, as defined above. Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono).

This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none.

Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode.

Note Number

The next row will tell us which MIDI notes the device can send or receive, normally 0-127.
The second line, "True Voice" has the following in the MIDI specification: 
"Range of received note numbers falling within the range of true notes produced by the instrument."
My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano. 

Velocity This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented.

After touch This may have one or two lines two it. If a one liner the either "O" or "X", yes or no. If a two liner then it may include "Keys" or "Poly" and "Channel". This will show whether the device will respond to Polyphonic after touch or channel after touch or neither.

Pitch Bend Again "O" for implemented, "X" for not implemented. (Many stage pianos will have no pitch bend capability.) It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel.

Control Change This is likely to be the largest section of the chart. It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively. You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation.

Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [ MMA], with the table of messages and control change [ message numbers]

Program Change Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available. True # (number): "The range of the program change numbers which correspond to the actual number of patches selected."

System Exclusive Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation.

System Common - These include the following:

MIDI Time Code Quarter Frame messages (device synchronisation).
Song Position Pointer
Song Select
Tune Request

The section will indicate whether or not the device can send or respond to any of these messages.

System Real Time These include the following:

Timing Clock - often just written as "Clock"

These three are usually just referred to as "Commands" and listed. Again the section will indicate which, if any, of these messages the device can send or respond to.

Aux. Messages
Again "O" or "X" for implemented or not.
Aux. = Auxiliary.
Active Sense = Active Sensing.

Often with an explanation of the action of the device.

Notes The "Notes" section can contain any additional comments to clarify the particular implementation.

Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification. And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA.


SUMMARY OF MIDI MESSAGES Table 1 - Summary of MIDI Messages

The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete.

WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information.

MIDI 1.0 Specification

Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)]

Status D7----D0 Data Byte(s) D7----D0 Description
1000nnnn 0kkkkkkk 0vvvvvvv Note Off event.

This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.

1001nnnn 0kkkkkkk 0vvvvvvv Note On event.

This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.

1010nnnn 0kkkkkkk 0vvvvvvv Polyphonic Key Pressure (Aftertouch).

This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value.

1011nnnn 0ccccccc 0vvvvvvv Control Change.

This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127).

1100nnnn 0ppppppp Program Change. This message sent when the patch number changes. (ppppppp) is the new program number.
1101nnnn 0vvvvvvv Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value.
1110nnnn 0lllllll 0mmmmmmm Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits.

Channel Mode Messages (See also Control Change, above)

Status D7----D0 Data Byte(s) D7----D0 Description
1011nnnn 0ccccccc 0vvvvvvv Channel Mode Messages.

This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are:

  • All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off
  • Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice.
  • Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers.

c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On

  • All Notes Off. When an All Notes Off is received, all oscillators will turn off.

c = 123, v = 0: All Notes Off (See text for description of actual mode commands.) c = 124, v = 0: Omni Mode Off c = 125, v = 0: Omni Mode On c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On) c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off)

System Common Messages

System Messages (0xF0)

The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category.

The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories.

System Common

If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes.

System Common Messages Type Status Byte Number of Data Bytes Usage

Time Code Quarter Frame	0xF1	1	Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*.
Song Position	0xF2	2	Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song.
Song Select	0xF3	1	Instructs a sequencer to select a new song. The data byte indicates the song.
Undefined	0xF4	0	
Undefined	0xF5	0	
Tune Request	0xF6	0	Requests that the receiver retunes itself**.
  • MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification
    • While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command.

System Exclusive

If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates.

System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format:

0xF0, 0xID, 0xdd, ...... 0xF7 The message is bookended with distinct bytes.

It opens with the Start Of Exclusive (SOX) data byte, 0xF0. The next one to three bytes after the start are an identifier. Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning. If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value.

ID 0x7D is a placeholder for non-commercial entities.
ID 0x7E indicates a predefined Non-realtime SysEx message.
ID 0x7F indicates a predefined Realtime SysEx message.

After the ID is the data payload, sent as a stream of bytes. The transfer concludes with the End of Exclusive (EOX) byte, 0xF7. The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios.

An End of Exclusive byte marks the ordinary termination of the SysEx transfer. System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer. Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages.

Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes.
Status D7----D0 Data Byte(s) D7----D0 Description
11110000 0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 System Exclusive.

This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.)

11110001 0nnndddd MIDI Time Code Quarter Frame.

nnn = Message Type dddd = Values

11110010 0lllllll 0mmmmmmm Song Position Pointer.

This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB.

11110011 0sssssss Song Select.

The Song Select specifies which sequence or song is to be played.

11110100 Undefined. (Reserved)
11110101 Undefined. (Reserved)
11110110 Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators.
11110111 End of Exclusive. Used to terminate a System Exclusive dump.

System Real-Time Messages

Status D7----D0 Data Byte(s) D7----D0 Description
11111000 Timing Clock. Sent 24 times per quarter note when synchronization is required.
11111001 Undefined. (Reserved)
11111010 Start. Start the current sequence playing. (This message will be followed with Timing Clocks).
11111011 Continue. Continue at the point the sequence was Stopped.
11111100 Stop. Stop the current sequence.
11111101 Undefined. (Reserved)
11111110 Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation.
11111111 Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up.

Advanced Messages

Polyphonic Pressure (0xA0) and Channel Pressure (0xD0)

Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages.

Aftertouch comes in two flavors, with two different status messages.

The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format:

0xnc, 0xkk, 0xpp
n is the status (0xA)
c is the channel nybble
kk is the key number (0 to 127)
pp is the pressure value (0 to 127)

Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all.

Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format

0xnc, 0xpp
n is the status (0xD)
c is the channel number
pp is the pressure value (0 to 127)

Pitch Bend (0xE0)

Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends.

Pitch Bend Wheel

The wheel sends pitch bend messages, of the format

0xnc, 0xLL, 0xMM
n is the status (0xE)
c is the channel number
LL is the 7 least-significant bits of the value
MM is the 7 most-significant bits of the value

You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000).

Control Change (0xB0)

In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below.

Continuous Controllers

These controls send the following message format:

0xnc, 0xcc, 0xvv
n is the status (0xB)
c is the MIDI channel
cc is the controller number (0-127)
vv is the controller value (0-127)

Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments.

The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers.

On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard.

Program Change (0xC0)

Most synthesizers have patch storage memory, and can be told to change patches using the following command:

0xnc, 0xpp
n is the status (0xc)
c is the channel
pp is the patch number (0-127)

This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change.

Audio & Midi are not synchronized, what I can do ? Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me:

Simply put one line down to all midi notes on your pattern (use Insert key)
and go to 'Misc. Setup', adjust the latency and just search a value
that will make sound sync both audio/midi.

The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ? You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals.

Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment

DAW Audio Evolution 4[edit | edit source]

The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88.

Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well.

  • Set up AHI prefs so that microphone is available. (Input option near the bottom)

stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right

hifi best for music playback if driver supports this option






Advanced settings - Debugging via serial port

  • Options -> Soundcard In/Out
  • Options -> SampleRate
  • Options -> Preferences

F6 for Sample File List

Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway).

If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it).

AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording.

These are the usual features found in DAWs...

  • Recording digital audio, midi sequencer and mixer
  • virtual VST instruments and plug-ins
  • automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor

  • different track views
  • mixer and track layout (but not the same as below)
  • traditional two windows (track and mixer)

creating a synthesizer or effect from various "primitive" elements and then using the result in a manner little different than one uses any synthesizer or effect

  • during the first your role is that of the instrument creator
  • during the second your role is that of the instrument player

"patches" to "generate" sound, and/or to process sound. You can combine previously created processing or generator elements to create new processing or generating elements but the results are still distinctly processing or generating

assemble a personal collection of sound objects

written road maps relating patchbay points, outboard gear, and audio interface I/O

Mixing - mixdown

Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect.

Take look at page17 of the manual.

When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu.

Menus->Windows-> Aux Returns Window

or press F5

You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them.


Effects - fade in

To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out.

To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal.

There would be a number of ways to achieve the goal,

You have three real time effects slots, one for smoothing like so

Sample -> Amplify -> Delay

Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard.

Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out.

Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage.

Signal Processing -


Spreadsheet Leu[edit | edit source]

Spreadsheet Ignition[edit | edit source]

Needs ABIv1 to be completed before more can be done

File formats supported

  • ascii #?.txt and #?.csv (single sheets with data only).
  • igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas.

There is no support for xls, xlsx, ods or uos (Uniform Unified Office Format) at the moment.

  • Always use Esc key after editing Spreadsheet cells.
  • copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions.
  • Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively
  • Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be...

Change Sheet name by Object -> Sheet -> Properties

Click in the cell which will contain the result, and click down arrow button to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a very small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to copy a formula to other cells.

Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc. Shift key and arrow keys selects a range of cells, so that formatting can be done to all highlighted cells. View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet).

Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered.

  • #sheet-name to absolute reference another sheet-name cell unless reference() function used.

use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents

  • value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ...

  • Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD (maybe this needs to change)

Set formatting Object -> Cell -> Properties and put date in days


Set formatting Object -> Cell -> Properties and put time in seconds taken

Database (to be done by someone else)

type - standard, reference (bezug), search criterion (suchkriterium),

  • select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?)
  • Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?)
  • Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ?

Filtering done with dbfilter(), dbproduct() and dbposition().

Activities with dbsum(), dbaverage(), dbmin() and dbmax().

Table sorting -

Scripts (Arexx)
Excel(TM) to Ignition - commas , replaced by semi-colons ; to separate values within functions
  • SUM(),
  • AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(),
  • IF(), AND, OR, NOT
  • LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(),
  • LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(),
  • DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy),
  • EOMONTH() becomes MONTHLENGTH(),
  • NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(),
  • DBSUM() becomes DSUM(),
Missing and possibly useful features/functions needed for ignition to have better support of Excel files

There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel)

  • PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE,
  • MODE(), LARGE(), SMALL(), RANK(), STDEV(),
Excel Keyboard shortcuts needed to aid usability in Ignition
Ctrl Z - Undo

Ctrl D - Fill Down
Ctrl R - Fill right

Ctrl F - Find
Ctrl H - Replace

Ctrl 1 - Formatting of Cells
CTRL SHIFT ~ Apply General Formatting ie a number 
Ctrl ; - Todays Date 

F2 - Edit cell
F4 - toggle cell absolute / relative cell references

Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document.

  • content.xml – Document content and automatic styles used in the content.
  • styles.xml – Styles used in the document content and automatic styles used in the styles themselves.
  • meta.xml – Document meta information, such as the author or the time of the last save action.
  • settings.xml – Application-specific settings, such as the window size or printer information.

To read document follow these steps:

  • Extracting .ods file.
  • Getting content.xml file (which contains sheets data).
  • Creating XmlDocument object from content.xml file.
  • Creating DataSet (that represent Spreadsheet file).
  • With XmlDocument select “table:table” elements, and then create adequate DataTables.
  • Parse child’s of “table:table” element and fill DataTables with those data.
  • At the end, return DataSet and show it in application’s interface.

To write document follow these steps:

  • Extracting template.ods file (.ods file that we use as template).
  • Getting content.xml file.
  • Creating XmlDocument object from content.xml file.
  • Erasing all “table:table” elements from the content.xml file.
  • Reading data from our DataSet and composing adequate “table:table” elements.
  • Adding “table:table” elements to content.xml file.
  • Zipping that file as new .ods file.

XLS file format

The XLS file format contains streams, substreams, and records.

These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets. All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records.

  • Workbook stream
    • Globals substream
      • BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts)
    • Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format)
      • Blank cell record
      • RK cell record 32-bit number.
      • BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code)
      • Number cell record (64-bit floating-point number)
      • LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST)
      • Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself)
      • MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on)
      • MulRK record
      • Shared String Table (SST) contains all of the string values in the workbook.


Document Scanning - Scandal[edit | edit source]

Scanner usually needs to be connected via a USB port and not via a hub or extension lead.

Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None) If not found then reboot the computer and recheck.

Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device).

The next two boxes - leave empty as they are for morphos SCSI use only

or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx
  • gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner gt68xx firmwares in sys:s/gt68xx.
  • epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used

Save the settings but do not press the Use button (aros freezes)

Back to the Picture Scan window and the right-hand sections.

Click on the Information tab and press Connect button and the scanner should now be detected.

Go next to the Scanner tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set dpi first. Make sure if Preview is set or not.

In the Scan Tab, press Scan and the scanner will do its duty. Be aware that nothing is saved to disk yet.

In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage.

The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now.

Amiga Emu - Janus UAE[edit | edit source]

What is the fix for the grey screen when trying to run the workbench screenmode to match the current AROS one?

is it seamless, ie click on an ADF disk image and it loads it?

With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app

There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included

Try starting Janus with a priority of -1 like this little script:

cd sys:system/AmiBridge/emulator
changetaskpri -1
run janus-uae -f my_uaerc.config >nil:
cd sys:prefs

This stops it hogging all the CPU time.

old versions of UAE do not support hi-res p96 graphics

Screensaver Blanker[edit | edit source]

Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker.

Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h).

Icon tool types (may be broken) or command line options


Once the timing is right then add the following to s:icaros-sequence or s:user-startup

e.g. for 5 minutes

run QUIET sys:tools/commodities/Blanker seconds=300 >NIL:

  • Garshneblanker can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor.

  • [ Acuario AROS version], the aquarium screen saver.

Startup: extras:acuariofv-aros/acuario

Kill: c:break name=extras:acuariofv-aros/acuario

Managed to start Acuario by the Executor blanker.

cx_popkey=    ie CX_POPKEY="Shift F1" 
cx_popup=Yes or No

 Qualifier String    Input Event Class
   ----------------    -----------------
    "lshift"           IEQUALIFIER_LSHIFT
    "rshift"           IEQUALIFIER_RSHIFT
    "capslock"         IEQUALIFIER_CAPSLOCK
    "control"          IEQUALIFIER_CONTROL
    "lalt"             IEQUALIFIER_LALT
    "ralt"             IEQUALIFIER_RALT
    "lcommand"         IEQUALIFIER_LCOMMAND
    "rcommand"         IEQUALIFIER_RCOMMAND
    "numericpad"       IEQUALIFIER_NUMERICPAD
    "repeat"           IEQUALIFIER_REPEAT
    "midbutton"        IEQUALIFIER_MIDBUTTON
    "rbutton"          IEQUALIFIER_RBUTTON
    "leftbutton"       IEQUALIFIER_LEFTBUTTON
    "relativemouse"    IEQUALIFIER_RELATIVEMOUSE

    Synonym     Synonym
    String     Identifier
    -------    ----------
    "shift"    IXSYM_SHIFT    /* look for either shift key */
    "caps"     IXSYM_CAPS     /* look for either shift key or capslock */
    "alt"      IXSYM_ALT      /* look for either alt key */

Highmap is one of the following strings:
    "space", "backspace", "tab", "enter", "return", "esc", "del",
    "up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5",
    "f6", "f7", "f8", "f9", "f10", "help".

Writing CD / DVD - Frying Pan[edit | edit source]

Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs

If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero)

Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file

If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right).

You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd.

Click WRITE Button - set write speed - click on long Write button


Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn.

On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set.

One must not "Blank disc before write" if one uses a CDR

AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks

Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso


The DNxHD codec was submitted 2006 to the SMPTE organization as the framework for the VC-3 family of standards. Approval 2009. Typical 30min audio would be around 150Gb file

Since 2007, the open source FFmpeg project is providing 8-bit VC-3/DNxHD encoding and decoding. 2011, FFmpeg added 10-bit encoding support. DNxHD support is included in stable version 0.5 of FFmpeg in 2009. AROS ported the ffmpeg library version 3.0.1 in 2016.

  • Y'PbPr is analogue component video
  • YUV is an intermediary step in converting Y'PbPr to S-Video (YC) or composite video
  • Y'CbCr is digital component video.

YUV is an intermediate stage in turning component video into composite video or S-video.

Y'CbCr are the component of digital video, often wrongly called YUV.

1080p (not including backups) typically 20 to 40Gb and up to 80Gb to 200GB (RAW) per hour

Lossy H.264 codec could shoot around 40GB 1080p in a day. Over a month is around 1 TB (1,024 GB). Lossy means information is lost to try to keep the same quality but at a smaller file size.

friendly editing codec like ProRes 3TB day and 100TB a month or DNxHD codec

2160p (4K) (not including backups) typically 300Gb to 800GB per hour

single minute of ProRes UHD file (3840 x 2160) is around 5.3 GB (880 Mbit/s), single hour of 4K footage is a minimum 300GB. 30 hours of 4K ProRes 9TB

the XAVC codec in the LUMIX GH4 camera. 1 hour 4K footage (4096 x 2160) about 40 GB. Then, 1 hour per day is around 0.9TB (900GB)

AV1 (AOMedia Video 1) is the next video streaming codec and planned as the successor to the lossy HEVC (H. 265) format that is currently used for 4K HDR video

DTP Pagestream 3.2 3.3 Amiga Version 
Assign PageStream: "Work:PageStream3"
Assign SoftLogik: "PageStream:SoftLogik"
Assign Fonts: "PageStream:SoftLogik/Fonts" ADD

Normally Pagestream Fonts are installed in directory Pagestream3:Fonts/. Next step is to mark the right fonts-path in Pagestream's Systemprefs (don't confuse softlogik.font - this is only a screen-systemfont). Installed them all in a NEW Pagestream/Fonts drawer - every font-family in its own separate directory and marked them in PageStream3/Systemprefs for each family entry. e.g. Project > System Preferences >Fonts. You simply enter the path where the fonts are located into the Default Drawer string. e.g. System:PageStream/Fonts Then you click on Add and add a drawer. Then you hit Update. Then you hit Save. The new font(s) are available.

If everything went ok font "triumvirate-normal" should be chosen automatically when typing text. Kerning and leading

Normally, only use postscript fonts (Adobe Type 1 - both metric file .afm or .pfm variant and outline file .pfb) because easier to print to postscript printers and these fonts give the best results and printing is fast! Double sided printing.

CYMK pantone matching system color range support

For long documents you would normally prepare the body text beforehand in a text editor because any DTP package is not suited to this activity (i.e. slow). Cropping pictures are done outside usually.

Wysiwyg Page setup - Page Size - Landscape or Portrait - Full width bottom left corner

Toolbar - Panel General, Palettes, Text Toolbox and View

Master page (size, borders margin, etc.) - Styles (columns, alley, gutter between, etc.) i.e. balance the weight of design and contrast with white space(s) - unity

Text via two methods - click box for text block box which you resize or click I resizing text box frame which resizes itself

Centre picture if resizing horizontally - Toolbox - move to next page and return - grid Structured vector clipart images - halftone - scaling

Table of contents, Header and Footer Back Matter like the glossary, appendices, index, endnotes, and bibliography.

Right Mouse click - Line, Fill, Color -

Spot color

Quick keyboard shortcuts

l - line 
a - alignment 
c - colours 

DTP Design layout to impress an audience