- 1 Introduction
- 2 Web Application
- 3 Audio
- 4 Office Application
- 5 Graphical Image Editing Art
- 6 Magazine Editing
- 7 Video Creativity and Production
- 8 Remote Desktop/Shared
- 9 Misc Application
- 10 Misc Application 2
- 11 Games Emulation
- 12 Games
- 13 Education
- 14 Application Guides
- 14.1 Emulation
- 14.2 The Look
- 14.3 Web Browser
- 14.4 FTP
- 14.5 E-Mail
- 14.6 Instant Messaging IM
- 14.7 Multimedia
- 14.7.1 MPlayer
- 14.7.2 Midi - Musical Instrument Digital Interface
- 14.7.3 Mods
- 14.7.4 Audio Evolution 4
- 14.7.5 Frying Pan
- 14.8 Graphics
- 14.9 Video
- 14.10 Office
- 14.11 Games
- Web browser AROS - using Odyssey formerly known as OWB
- Email AROS - using SimpleMAIL and YAM
- Web Chat AROS - Facebook and Twitter via jabberwocky
- Video playback AROS - yes via mplayer
- Audio Playback AROS - yes via mplayer
- Games AROS - some ported games plus lots of emulation software and HTML5 casual ones while we wait for native games.
- Office - On-line apps could also be used via the Odyssey web browser, like Google Docs.
- Photo editing - ZunePaint
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||AROS(x86)||Amiga OS3 (68k)||AmigaOS4(PPC)||MorphOS(PPC)|
|Browsing||Odyssey, OWB 1.0x OWB Trac,||IBrowse*, Voyager*, AWeb, AWeb Src, Netsurf||OWB-mui, [ Timberwolf (Firefox port)], OWB-Reaction, IBrowse*, AWeb, Voyager, Netsurf,||OWB, [ Netsurf], IBrowse*, AWeb,|
|E-mailing||latest SimpleMail, SimpleMail source depositry, YAM||SimpleMail, YAM||SimpleMail, YAM,||SimpleMail, YAM|
|YouTube Viewing||Odyssey Web Browser, or this one,||getVideo,||getVideo, Tubexx||Odyssey (OWB), getVideo, Tubexx|
|IRC||latest wookie version, Wookiechat src, AiRcOS, Jabberwocky,||Wookiechat, AmIRC||Wookiechat||Wookiechat, AmIRC,|
|Instant Messaging IM - Facebook and Twitter (TM) and others||jabberwocky, ATwitter Port Issues, SabreMSN (ABIv0 only)||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,||?||?|
|Clock and Date setting from ntp or websites||Time in a Browser Tab, World Clock, NIST,||ntpsync|
|RSS news feeds ('Really Simple Syndication') RSS, Atom and RDF aggregator||Daily Rotation, Lightsteamer, NewsBlur, Feed Bucket, ,|
|Speed Tests||Test My, Speed Test, [ ], NetMeter|
|HTML5 WebGL tests||HTML5 Test, Can I?, WebGL Test, WebGL Report,|
* Commercial product.
|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.
|Office||AROS (x86)||AmigaOS3 (68k)||AmigaOS4 (PPC)||MorphOS (PPC)|
|Word-processing||Cinnamon Writer, [ ], [ ], [ ],||AmigaWriter*, WordWorth*, FinalWriter*, Excellence 3*, Protext, Rashumon,||AbiWord, CinnamonWriter||Cinnamon Writer, scriba, Papyrus Office,|
|Spreadsheets||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, MUIBase,||MUIbase, Datastore, FinalData, AmigaBase, Fiasco, Twist2,||MUIBase, SQLite,||MUIBase,|
|PDF Viewing||ArosPDF||APDF||AmiPDF||APDF, vPDF,|
|Printing||Postscript 3 laser printers and Ghostscript internal, GutenPrint,||TurboPrint*||(some native drivers),||early TurboPrint included,|
|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,|
* Commercial product.
Graphical Image Editing Art
|Pixel Raster Artwork||LunaPaint, GrafX2, LodePaint, JSPixely, ZunePaint,||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||IconEditor|
|Animation||Lunapaint||PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*||?||Titler|
|2D SVG based MovieSetter type||?||MovieSetter*, Fantavision*||?||?|
|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.
|DTP||?||Pagestream*, Professional Page*, Saxon Publisher Publishing,||Pagestream*||Pagestream*|
|Scanning||SCANdal||FxScan*, ScanQuix*||SCANdal (Sane)||SCANdal|
|Text Editing||Jano Editor (already installed by default), EdiSyn, Annotate, Vim, FrexxEd, 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,|
* Commercial product.
Video Creativity and Production
|Playing Video||AMC*, Mplayer, CDXL player, IffAnimPlay, VAMP,||Frogger*, AMP2, MPlayer, RiVA*, MooViD*,||AMC*, DvPlayer, MPlayer||MPlayer, Frogger, AMP2, VLC|
|Streaming Video||AMC*, Mplayer,||?||Mplayer, Gnash, Tubexx||Mplayer, OWB, Tubexx, Reggae,|
|Playing DVD||AMC*, Mplayer||AMP2, Frogger||AMC*, DvPlayer*, AMP2,||Mplayer|
|Screen Recording||Screenrecorder, [ ], [ ], [ ], [ ],||?||?||Screenrecorder,|
|Create and Edit Individual Video||Mencoder, Quick Videos, AVIbuild and FrameBuild,||Mainactor Broadcast*, Video Toaster, Broadcaster Elite, MovieShop, Adorage, VHI studio*,||FFMpeg/GUI||Blender, Mencoder, FFmpeg|
|DVD ripping (libdvdread + libdvdcss + vobcopy)||Handbrake|
* Commercial product.
|Remote Desktop (server)||ArosVNCServer,||AmiVNC, AVNC||AmiVNC||MorphVNC, vncserver|
|Remote Desktop (client)||ArosVNC, RDesktop||TwinVNC, VVA, RDesktop||TwinVNC, RDesktop||TwinVNC, RDesktop|
* Commercial product.
|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,||?||[ MuiBuilder],|
|Catalog .cd .ct Editors||FlexCat||SimpleCat, FlexCat||SimpleCat, FlexCat||SimpleCat, FlexCat|
|Filesystem Backup||MyMirror, MrBackup, Quarterback Tools*,|
|Filesystem Repair||Quarterback Tools, [ ], [ ], [ ],|
|Multiple File renaming||DOpus 4 or 5,||MultiRen, Rename2u,|
|Alarm Clock, Timer, Stopwatch, Countdown||AlarmClock, ,|
* Commercial product.
Misc Application 2
|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,||?||?||?|
|Text to Speech,||flite,||translator, Die Giga Engine,||FLite||FLite|
|Speech Voice Recognition Dictation - CMU Sphinx, Julius, ISIP,||?||?||?||?|
|Street Road Maps Route Planning GPS Tracking||MuiMapparium Build of MuiMapp versions,||AmiAtlas*, UKRoutePlus*, AmOSM,||?||Mapparium,|
|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,|
* Commercial product.
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.
|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,|||
|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,|
If any games rely on SDL then the following should entered in the shell before CLI based starting of game or far better using ToolTypes.
|Education||AROS(x86)||Amiga OS3 (68k)||AmigaOS4(PPC)||MorphOS(PPC)|
|Mathematics (Xcas, etc.),||mathX||Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ],||Yacas||Yacas|
* Commercial product.
Try starting Janus with a priority of -1. I use a little script:
cd sys:system/AmiBridge/emulator changetaskpri -1 run janus-uae -f my_uaerc.config >nil: cd sys:prefs endcli
This stops it hogging all the CPU time.
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.
Kill: c:break name=extras:acuariofv-aros/acuario
Managed to start Acuario by the Executor blanker.
cx_priority= 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".
unzip and copy the folder and info icon to Utilities folder
PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua
or wbstartup drawer (directory) to start automatically
run QUIET sys:tools/commodities/DepthMenu >NIL:
to make it easy to get to the window you need
Fab's Odyssey OWB
If you have up to 2gb of memory or more, copy the browser drawer (directory) to ram and run the browser environment there - saves hard disk wear and tear
With 2.1, drag the OWB drawer (directory) from Utilities 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 and select WB Run option from the list shown.
With Icaros 2.0.x, you can use Magellan to copy sys:utilities/owb drawer (directory) to ram: (there is a right mouse click option to do this). Open the RAM Disk and go into the recently copied OWB drawer directory in the RAM Disk: and right mouse click on the OWB app and select WB Run to start the web browser in memory.
With older Icaros - Create User-Startup text file or add the following to this file in SYSːs drawer... i.e. creating a script
stack 100000 ; using AspireOS 1.xx ; copy FROM SYS:Extras/Networking/Odyssey_Web_Browser/ TO RAM:OWB ALL CLONE > Nil: ; using Icaros Desktop 1.x (line below may need further editing by removing the ; below) ; copy FROM SYS:Tools/Odyssey_Web_Browser/ TO RAM:OWB ALL CLONE > Nil: ; using IcarosDesktop 2.0 ; copy FROM SYS:Utilities/OWB/ TO RAM:OWB ALL CLONE > Nil: cd RAM:OWB run OWB > Nil:
Slow internet experience can be improved by deleting cookies.db
Even simpler, add ezdownload.js to the scripts list just like youtube.js next. To use YouTube, OWB Settings->Scripts add youtube.js and then each YouTube play website will show a series of numbers. First set are for download, next with Flash and finally without Flash. It should highlight which are which.
The higher the number the better the quality and size. Numbers seem to go in order from a series of flv files, to a series of vp8 and finally h264 files. Google likes breaking YouTube support often and new .js scripts sometimes appear.
New CA certification file for MuiOWB/Odyssey needed from https://curl.haxx.se/ca/cacert.pem from https://curl.haxx.se/docs/caextract.html, obtained from https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt
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:
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.
SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes.
YAM is POP3 only.
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.
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
SimpleMail email client
Please read more on this User list
Be sure to activate the pop3 usage in your gmail account setup / configuration first.
pop3: pop.gmail.com Use SSL: Yes Port: 995
smtp: smtp.gmail.com (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587
mid-2017, all outlook.com 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: imap-mail.outlook.com, port 993, SSL/TLS should be checked
- Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked
- POP server name pop-mail.outlook.com, port 995, POP encryption method SSL
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 - imap.mail.yahoo.com
- Port - 993
- Requires SSL - Yes
Outgoing Mail (SMTP) Server
- Server - smtp.mail.yahoo.com
- Port - 465 or 587
- Requires SSL - Yes
- Requires authentication - Yes
Your login info
- Email address - Your full email address (firstname.lastname@example.org)
- 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 pop.mail.yahoo.com. 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 “@yahoo.com”.
- “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. email@example.com
- “Password” – Your Yahoo Mail password.
Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com.
- Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. 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.
This email client is POP3 only if the SSL library is available YAM Freelists
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: pop.gmail.com Use SSL: Yes Port: 995
Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587
Account Name: your Gmail username (including '@gmail.com') Email Address: your full Gmail email address (firstname.lastname@example.org) Password: your Gmail password
Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead.
Outlook.com SMTP server address: smtp.live.com Outlook.com SMTP user name: Your full Outlook.com email address (not an alias) Outlook.com SMTP password: Your Outlook.com password Outlook.com SMTP port: 587 Outlook.com SMTP TLS/SSL encryption required: yes
“POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. “SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. 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 “@yahoo.com”. “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. email@example.com “Password” – Your Yahoo Mail password.
Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com.
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 127.0.0.1 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.
Instant Messaging IM
IRC Internet Relay Chat
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
/help /list /who /whois <nick> /msg <nick> <message> /query <nick> <message>s /query /away <message> /away /quit <going away message>
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
/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>
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
- 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
- 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
Server: irc.freenode.net Channel: #aros
Server: chat.amigaworld.net Channel: #amigaworld or #amigans
On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC) Server:irc.superhosts.net Channel #team*amiga
BitlBee and Minbif are IRCd-like gateways to multiple IM networks Server: im.bitlbee.org 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.
- Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a)
twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net liberty.nj.us.synirc.net snowball.mo.us.synirc.net - 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 CTCP PING, TIME, VERSION, SOUND 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
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.
Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many. You sign up to a server that someone else has setup and access chat services through them. Servers are setup and close down at random so see the below lists for current servers.
The two ways to access chat from jabberwocky
Jabberwocky -> Server -> XMPP -> open and ad-free Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems
The Jabber.org 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 Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) but you can use Jabber.com'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.
Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers, see above lists. 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, chat.facebook.com, 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 firstname.lastname@example.org 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.
for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password
For a few years, there has been added a twitter transport. Servers include jabber.hot-chili.net, and .
- 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: http://www.jabber.de/ Then login into Jabberwocky with the following login data e.g. email@example.com / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account.
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 www.outlook.com 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.
msn.jabber.com/registered 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 firstname.lastname@example.org and my jabber server was @jabber.meta.net.nz.. then email@example.com
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: firstname.lastname@example.org You type: email@example.com And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time...
any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. 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
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 http://www.radio-paralax.de/listen.pls > Nil:
On-line Internet Audio Radio Stations
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
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 OWN'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.
Midi - Musical Instrument Digital Interface
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.
- 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
- Window - Tracks
- 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
- 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.
- 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.
- 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.
- 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 availeble 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.
- 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.
- 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.
- Accessories paccess plugins like SmerFF to save/load MIDI files, adjust sysex messages,
- Menu - Songs load and save in .song format out of the box
- Timing SMTPE Synchronizing
- 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).
How to use Midi In/Out in Protrekkr ?
First of all, midi in & out capabilities of this program are rather limited.
- Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time).
- Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected).
- Go to track section and here you can assign a midi channel to each track of ptk.
- 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.
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 [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php 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" Start Stop Continue
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. = Auxilliary. 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.
OFFICIAL MIDI SPECIFICATIONS
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:
c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On
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.
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 reciever retune 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.
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.
The Song Select specifies which sequence or song is to be played.
|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.|
|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.|
|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.|
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.
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
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
- 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).
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.
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.
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:
- PRE-CHORUS / RISE / CLIMB
- MIDDLE EIGHT
- SOLO / INSTRUMENTAL BREAK
- CODA / OUTRO
- AD LIB (OFTEN IN 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
LSHIFT + ARROWS
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,
Audio Evolution 4
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 spacial AUX setting that improves it's 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 under stand 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 -
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
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.
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.
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
- 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
- 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
- CIELUV, CIELCH
- 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)
- sRGB Rec. 709 (TV Broadcasts)
- Abode RGB
- 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 .
- Move left endpoint (black point) up or right endpoint (white point) up brightens
- Move left endpoint down or right endpoint down darkens
- 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.
- 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
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
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.
- llinear 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
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
AmiFIG (xfig manual)
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
- Line Width
- Line Style
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
Landscape Center Inches Letter 100.00 Single -2 1200 2 4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01
- 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).
- The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13.
- The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default).
- 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.
- 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).
- 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.
- 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
Pixel based drawing app with nice onion-skin anmation 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 astonising 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
- GENERAL DRAWING**
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)
Pixel based painting artwork app
Pixel based painting artwork app
- 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
H.264 could shoot around 40GB 1080p in a day. Over a month is around 1 TB (1,024 GB)
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)
Pagestream 3.2 3.3
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 -
Quick keyboard shortcuts
l - line a - alignment c - colours
Ignition - Amiga Spreadsheet
- 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
- 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),
- TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()),
- 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)
- HLOOKUP(), VLOOKUP(), INDEX(), MATCH(), CHOOSE(), TEXT(),
- TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(),
- SUMPRODUCT(), ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(),
- PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE,
- MODE(), LARGE(), SMALL(), RANK(), STDEV(),
- DCOUNT(), DCOUNTA(), WEEKDAY(),
- 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
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.
- Globals substream
ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(), COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(), CUMIPMT(), CUMPRINC(), DB(), DDB(), DISC(), DOLLARDE(), DOLLARFR(), DURATION(), EFFECT(), FV(), FVSCHEDULE(), INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(), ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(), PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(), RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(), VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(),
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.
AROS version can be compiled from hurrican svn. Compiled it on the Linux side with AROS cross compilers.
- get Hurrican source from sourceforge
- get SDL_mixer from archives.aros-exec.org (the one in AROS contrib does not have MOD support compiled in)
- cd to "Hurrican/src", adjust Makefile (TARGET=aros, make INCLUDES_OS point to AROS SDL headers and fix path to libSDL_mixer.a)
- type make. I compiled everything on the Linux side, so "export PATH=$PATH:<arosdir>/bin/linux-i386/tools/crosstools" first.
- this should create "Hurrican/hurricanaros".
- copy "Hurrican/" over to where AROS can see it. Increase stack before launching it (try 1000000 - stacksnoop seems to be broken at the moment, so that's just a random guess). Also make sure to have enough RAM in AROS. For AROS hosted try starting AROS with "-m 256".
- cursor keys in game may not work. Try 2/4/6/8 on numkey pad and game prefs to reconfigure.
- On AROS hosted (only place I tested) to use accelerated opengl do "make workbench-libs-hostgl" and before running the game do "Loadresource sys:storage/libs/mesa.library", or copy the library over the one in sys:libs.
There are still some little gfx, music and other problems in the game.
Command Centre - once built - radar mini map bottom left appears
Icons in bottom right (clockwise from top) - production, research, build, design, intelligence (goals), Bar power bottom middle of screen Power Generator near to Command Oil derricks on oil field (4 per gemerator)
Factory near to power generator
2 Research Facility near Command (one after the other)
Set tanks off to right and scavengers attack
Make another 3 research to end up with 5 (right mouse click to pause)
Design menu - shows items that can be made Click new design centre window and click icon on rhs - choose body on the right Click next 2 icons and rename at strip at the top of the central window
Search out scavengers and cars on route left and up
If discover base - destroy tower(s) first - fences - buildings last (keep distance - not too close)
Artifacts (grey canisters) recovered to advance research Destroy enemy derricks and eventually put your own on there
Research new ability - intelligence option icon - weapon research Research patterns - mk2 - mk3
Build another factory - remove any rookie machine gun cars before building new ones up to 5
Rally point(s) - yellow numbers in circles are moveable
At each new rally point - new factory - scuttle old machine gun units - build new ones Put new oil derrick and connect to factory -
Move west to next scavenger base
Machine guard tower finally becomes available to research
Further missions add more to the map - to the south and east
If you use TTF fonts and have installed the MSFonts (Arial etc.) the trouble is that SimpleHTML will use those TTF fonts and the HTML mail will ask for them in such a size that it is unreadable on the amiga, the solution would be to have simplehtml not allow sizes under a certain size or update the SimpleHTML to handle <FONT SIZE=xx> fully, for instance this:
<FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">Retrieve email using your device<BR> ($49.99)</FONT>
is getting translated to an unreadable Verdana font in size 9 if you have the MS Fonts installed, SimpleHTML does not support negative sizes in the SimpleHTML.config file (in any logical way at least).
this is how my SimpleHTML.config looks like
H1=TimesNewRomanPS/40 H2=TimesNewRomanPS/36 H3=TimesNewRomanPS/32 H4=TimesNewRomanPS/28 H5=TimesNewRomanPS/24 H6=TimesNewRomanPS/20 H7=TimesNewRomanPS/20 NORMAL-3=Arial/20 BORMAL-2=Arial/20 NORMAL-1=Arial/20 NORMAL1=Arial/20 NORMAL2=Arial/24 NORMAL3=Arial/28 NORMAL4=Arial/32 NORMAL5=Arial/36 NORMAL6=Arial/40 NORMAL7=Arial/48 FIXED1=Courier/20 FIXED2=Courier/24 FIXED3=Courier/28 FIXED4=Courier/32 FIXED5=Courier/36 FIXED6=Courier/40 FIXED7=Courier/48 ARIAL1=Arial/20 ARIAL2=Arial/24 ARIAL3=Arial/28 ARIAL4=Arial/32 ARIAL5=Arial/36 ARIAL6=Arial/40 ARIAL7=Arial/48 TAHOMA1=Tahoma/20 TAHOMA2=Tahoma/24 TAHOMA3=Tahoma/28 TAHOMA4=Tahoma/32 TAHOMA5=Tahoma/36 TAHOMA6=Tahoma/40 TAHOMA7=Tahoma/48 VERDANA-3=Verdana/20 VERDANA-2=Verdana/20 <- this has no effect whatsoever VERDANA-1=Verdana/20 VERDANA1=Verdana/20 VERDANA2=Verdana/24 VERDANA3=Verdana/28 VERDANA4=Verdana/32 VERDANA5=Verdana/36 VERDANA6=Verdana/40 VERDANA7=Verdana/48 SANS-SERIF1=Arial/20 SANS-SERIF2=Arial/24 SANS-SERIF3=Arial/28 SANS-SERIF4=Arial/32 SANS-SERIF5=Arial/36 SANS-SERIF6=Arial/40 SANS-SERIF7=Arial/48 SERIF1=TimesNewRomanPS/20 SERIF2=TimesNewRomanPS/24 SERIF3=TimesNewRomanPS/28 SERIF4=TimesNewRomanPS/32 SERIF5=TimesNewRomanPS/36 SERIF6=TimesNewRomanPS/40 SERIF7=TimesNewRomanPS/48
- Transparent m68k emulation: copy any old amiga filesystem to L: and use directly partitions in that format, e.g. PFS3. Can copy any datatype and any native apps will use them. It really feels integrated, not like running in a separate box (emulation wise).
- MUI4: slowly getting there but basics like screennotify.library support is missing and Zune windows are not autoclosing when adjusting screen mode or window decorations.
- CGX: way ahead of P96 but AROS still lacks overlay support.
- Console: AROS console is still missing some functions like ssh support
- HD Tools: Partition tools, recovery tools, easier mounting tools are still needed.
- Good language translations - always needed
White balance, Kelvin value of a candle 2000K, of the lightbulb is 3200K (early AM late PM), white fluorescent is 4200K, sun is 5200K, cloud is 6000K, and house with shade is 7000K, clear blue sky 10000-15000K
RGB colour values for "familiar" colours. The first set below was originally compiled by Steve Hollasch and is organised as follows: the first column is the descriptive name of the colour; the next three columns are the RGB coordinates in the 0 to 255 range as if the components were being stored in one unsigned byte; the last three columns are the RGB colour coordinates in the range of 0 to 1 inclusive.
antique_white 250 235 215 0.9804 0.9216 0.8431 azure 240 255 255 0.9412 1.0000 1.0000 bisque 255 228 196 1.0000 0.8941 0.7686 blanched_almond 255 235 205 1.0000 0.9216 0.8039 cornsilk 255 248 220 1.0000 0.9725 0.8627 eggshell 252 230 201 0.9900 0.9000 0.7900 floral_white 255 250 240 1.0000 0.9804 0.9412 gainsboro 220 220 220 0.8627 0.8627 0.8627 ghost_white 248 248 255 0.9725 0.9725 1.0000 honeydew 240 255 240 0.9412 1.0000 0.9412 ivory 255 255 240 1.0000 1.0000 0.9412 lavender 230 230 250 0.9020 0.9020 0.9804 lavender_blush 255 240 245 1.0000 0.9412 0.9608 lemon_chiffon 255 250 205 1.0000 0.9804 0.8039 linen 250 240 230 0.9804 0.9412 0.9020 mint_cream 245 255 250 0.9608 1.0000 0.9804 misty_rose 255 228 225 1.0000 0.8941 0.8824 moccasin 255 228 181 1.0000 0.8941 0.7098 navajo_white 255 222 173 1.0000 0.8706 0.6784 old_lace 253 245 230 0.9922 0.9608 0.9020 papaya_whip 255 239 213 1.0000 0.9373 0.8353 peach_puff 255 218 185 1.0000 0.8549 0.7255 seashell 255 245 238 1.0000 0.9608 0.9333 snow 255 250 250 1.0000 0.9804 0.9804 thistle 216 191 216 0.8471 0.7490 0.8471 titanium_white 252 255 240 0.9900 1.0000 0.9400 wheat 245 222 179 0.9608 0.8706 0.7020 white 255 255 255 1.0000 1.0000 1.0000 white_smoke 245 245 245 0.9608 0.9608 0.9608 zinc_white 253 248 255 0.9900 0.9700 1.0000
cold_grey 128 138 135 0.5000 0.5400 0.5300 dim_grey 105 105 105 0.4118 0.4118 0.4118 grey 192 192 192 0.7529 0.7529 0.7529 light_grey 211 211 211 0.8275 0.8275 0.8275 slate_grey 112 128 144 0.4392 0.5020 0.5647 slate_grey_dark 47 79 79 0.1843 0.3098 0.3098 slate_grey_light 119 136 153 0.4667 0.5333 0.6000 warm_grey 128 128 105 0.5000 0.5000 0.4100
black 0 0 0 0.0000 0.0000 0.0000 ivory_black 41 36 33 0.1600 0.1400 0.1300 lamp_black 46 71 59 0.1800 0.2800 0.2300
alizarin_crimson 227 38 54 0.8900 0.1500 0.2100 brick 156 102 31 0.6100 0.4000 0.1200 cadmium_red_deep 227 23 13 0.8900 0.0900 0.0500 coral 255 127 80 1.0000 0.4980 0.3137 coral_light 240 128 128 0.9412 0.5020 0.5020 deep_pink 255 20 147 1.0000 0.0784 0.5765 english_red 212 61 26 0.8300 0.2400 0.1000 firebrick 178 34 34 0.6980 0.1333 0.1333 geranium_lake 227 18 48 0.8900 0.0700 0.1900 hot_pink 255 105 180 1.0000 0.4118 0.7059 indian_red 176 23 31 0.6900 0.0900 0.1200 light_salmon 255 160 122 1.0000 0.6275 0.4784 madder_lake_deep 227 46 48 0.8900 0.1800 0.1900 maroon 176 48 96 0.6902 0.1882 0.3765 pink 255 192 203 1.0000 0.7529 0.7961 pink_light 255 182 193 1.0000 0.7137 0.7569 raspberry 135 38 87 0.5300 0.1500 0.3400 red 255 0 0 1.0000 0.0000 0.0000 rose_madder 227 54 56 0.8900 0.2100 0.2200 salmon 250 128 114 0.9804 0.5020 0.4471 tomato 255 99 71 1.0000 0.3882 0.2784 venetian_red 212 26 31 0.8300 0.1000 0.1200
beige 163 148 128 0.6400 0.5800 0.5000 brown 128 42 42 0.5000 0.1647 0.1647 brown_madder 219 41 41 0.8600 0.1600 0.1600 brown_ochre 135 66 31 0.5300 0.2600 0.1200 burlywood 222 184 135 0.8706 0.7216 0.5294 burnt_sienna 138 54 15 0.5400 0.2100 0.0600 burnt_umber 138 51 36 0.5400 0.2000 0.1400 chocolate 210 105 30 0.8235 0.4118 0.1176 deep_ochre 115 61 26 0.4500 0.2400 0.1000 flesh 255 125 64 1.0000 0.4900 0.2500 flesh_ochre 255 87 33 1.0000 0.3400 0.1300 gold_ochre 199 120 38 0.7800 0.4700 0.1500 greenish_umber 255 61 13 1.0000 0.2400 0.0500 khaki 240 230 140 0.9412 0.9020 0.5490 khaki_dark 189 183 107 0.7412 0.7176 0.4196 light_beige 245 245 220 0.9608 0.9608 0.8627 peru 205 133 63 0.8039 0.5216 0.2471 rosy_brown 188 143 143 0.7373 0.5608 0.5608 raw_sienna 199 97 20 0.7800 0.3800 0.0800 raw_umber 115 74 18 0.4500 0.2900 0.0700 sepia 94 38 18 0.3700 0.1500 0.0700 sienna 160 82 45 0.6275 0.3216 0.1765 saddle_brown 139 69 19 0.5451 0.2706 0.0745 sandy_brown 244 164 96 0.9569 0.6431 0.3765 tan 210 180 140 0.8235 0.7059 0.5490 van_dyke_brown 94 38 5 0.3700 0.1500 0.0200
cadmium_orange 255 97 3 1.0000 0.3800 0.0100 cadmium_red_light 255 3 13 1.0000 0.0100 0.0500 carrot 237 145 33 0.9300 0.5700 0.1300 dark_orange 255 140 0 1.0000 0.5490 0.0000 mars_orange 150 69 20 0.5900 0.2700 0.0800 mars_yellow 227 112 26 0.8900 0.4400 0.1000 orange 255 128 0 1.0000 0.5000 0.0000 orange_red 255 69 0 1.0000 0.2706 0.0000 yellow_ochre 227 130 23 0.8900 0.5100 0.0900
aureoline_yellow 255 168 36 1.0000 0.6600 0.1400 banana 227 207 87 0.8900 0.8100 0.3400 cadmium_lemon 255 227 3 1.0000 0.8900 0.0100 cadmium_yellow 255 153 18 1.0000 0.6000 0.0700 gold 255 215 0 1.0000 0.8431 0.0000 goldenrod 218 165 32 0.8549 0.6471 0.1255 goldenrod_dark 184 134 11 0.7216 0.5255 0.0431 goldenrod_light 250 250 210 0.9804 0.9804 0.8235 goldenrod_pale 238 232 170 0.9333 0.9098 0.6667 light_goldenrod 238 221 130 0.9333 0.8667 0.5098 melon 227 168 105 0.8900 0.6600 0.4100 naplesyellowdeep 255 168 18 1.0000 0.6600 0.0700 yellow 255 255 0 1.0000 1.0000 0.0000 yellow_light 255 255 224 1.0000 1.0000 0.8784
chartreuse 127 255 0 0.4980 1.0000 0.0000 chromeoxidegreen 102 128 20 0.4000 0.5000 0.0800 cinnabar_green 97 179 41 0.3800 0.7000 0.1600 cobalt_green 61 145 64 0.2400 0.5700 0.2500 emerald_green 0 201 87 0.0000 0.7900 0.3400 forest_green 34 139 34 0.1333 0.5451 0.1333 green 0 255 0 0.0000 1.0000 0.0000 green_dark 0 100 0 0.0000 0.3922 0.0000 green_pale 152 251 152 0.5961 0.9843 0.5961 green_yellow 173 255 47 0.6784 1.0000 0.1843 lawn_green 124 252 0 0.4863 0.9882 0.0000 lime_green 50 205 50 0.1961 0.8039 0.1961 mint 189 252 201 0.7400 0.9900 0.7900 olive 59 94 43 0.2300 0.3700 0.1700 olive_drab 107 142 35 0.4196 0.5569 0.1373 olive_green_dark 85 107 47 0.3333 0.4196 0.1843 permanent_green 10 201 43 0.0400 0.7900 0.1700 sap_green 48 128 20 0.1900 0.5000 0.0800 sea_green 46 139 87 0.1804 0.5451 0.3412 sea_green_dark 143 188 143 0.5608 0.7373 0.5608 sea_green_medium 60 179 113 0.2353 0.7020 0.4431 sea_green_light 32 178 170 0.1255 0.6980 0.6667 spring_green 0 255 127 0.0000 1.0000 0.4980 spring_greenmedium 0 250 154 0.0000 0.9804 0.6039 terre_verte 56 94 15 0.2200 0.3700 0.0600 viridian_light 110 255 112 0.4300 1.0000 0.4400 yellow_green 154 205 50 0.6039 0.8039 0.1961
aquamarine 127 255 212 0.4980 1.0000 0.8314 aquamarinemedium 102 205 170 0.4000 0.8039 0.6667 cyan 0 255 255 0.0000 1.0000 1.0000 cyan_white 224 255 255 0.8784 1.0000 1.0000 turquoise 64 224 208 0.2510 0.8784 0.8157 turquoise_dark 0 206 209 0.0000 0.8078 0.8196 turquoise_medium 72 209 204 0.2824 0.8196 0.8000 turquoise_pale 175 238 238 0.6863 0.9333 0.9333
alice_blue 240 248 255 0.9412 0.9725 1.0000 blue 0 0 255 0.0000 0.0000 1.0000 blue_light 173 216 230 0.6784 0.8471 0.9020 blue_medium 0 0 205 0.0000 0.0000 0.8039 cadet 95 158 160 0.3725 0.6196 0.6275 cobalt 61 89 171 0.2400 0.3500 0.6700 cornflower 100 149 237 0.3922 0.5843 0.9294 cerulean 5 184 204 0.0200 0.7200 0.8000 dodger_blue 30 144 255 0.1176 0.5647 1.0000 indigo 8 46 84 0.0300 0.1800 0.3300 manganese_blue 3 168 158 0.0100 0.6600 0.6200 midnight_blue 25 25 112 0.0980 0.0980 0.4392 navy 0 0 128 0.0000 0.0000 0.5020 peacock 51 161 201 0.2000 0.6300 0.7900 powder_blue 176 224 230 0.6902 0.8784 0.9020 royal_blue 65 105 225 0.2549 0.4118 0.8824 slate_blue 106 90 205 0.4157 0.3529 0.8039 slate_blue_dark 72 61 139 0.2824 0.2392 0.5451 slate_blue_light 132 112 255 0.5176 0.4392 1.0000 slate_blue_medium 123 104 238 0.4824 0.4078 0.9333 sky_blue 135 206 235 0.5294 0.8078 0.9216 sky_blue_deep 0 191 255 0.0000 0.7490 1.0000 sky_blue_light 135 206 250 0.5294 0.8078 0.9804 steel_blue 70 130 180 0.2745 0.5098 0.7059 steel_blue_light 176 196 222 0.6902 0.7686 0.8706 turquoise_blue 0 199 140 0.0000 0.7800 0.5500 ultramarine 18 10 143 0.0700 0.0400 0.5600
blue_violet 138 43 226 0.5412 0.1686 0.8863 cobalt_violetdeep 145 33 158 0.5700 0.1300 0.6200 magenta 255 0 255 1.0000 0.0000 1.0000 orchid 218 112 214 0.8549 0.4392 0.8392 orchid_dark 153 50 204 0.6000 0.1961 0.8000 orchid_medium 186 85 211 0.7294 0.3333 0.8275 permanent_violet 219 38 69 0.8600 0.1500 0.2700 plum 221 160 221 0.8667 0.6275 0.8667 purple 160 32 240 0.6275 0.1255 0.9412 purple_medium 147 112 219 0.5765 0.4392 0.8588 ultramarine_violet 92 36 110 0.3600 0.1400 0.4300 violet 143 94 153 0.5600 0.3700 0.6000 violet_dark 148 0 211 0.5804 0.0000 0.8275 violet_red 208 32 144 0.8157 0.1255 0.5647 violet_redmedium 199 21 133 0.7804 0.0824 0.5216 violet_red_pale 219 112 147 0.8588 0.4392 0.5765