===============================================================================
 LinuxMovieMaker — for the LinuxDoors AppImage Store
===============================================================================

 Name:          LinuxMovieMaker
 Price:         $0.00
 Maker:         Stan Switaj
 Created:       September 7, 2026
 Kind:          A LinuxDoors AppImage Software Product
 File:          LinuxMovieMaker.AppImage
 Size:          117M   (single file, download and run)
 SHA256:        729811e6770bbcc003e147b2892669eccb0617cdf90bb3552156635b53c17772

 CARD DESCRIPTION (the one line the store shows under the name)

     Make a film from your clips, photographs, titles and music.


-------------------------------------------------------------------------------
 DESCRIPTION
-------------------------------------------------------------------------------

 A video editor for making something watchable out of what you already have.
 Drop in the clips off a phone, the photographs from a holiday, a song and a
 few words spoken over the top, put them in the order you want, and make a
 film of it.

 The window is laid out the way the work goes. What you have brought in sits
 down the left. The film plays in the middle. Whatever you have clicked on has
 its own settings down the right — how long, how fast, how loud, which effect.
 Along the bottom are four lanes: Pictures, Titles, Music and Narration.

 Drag a clip to move it. Drag its end to trim it. Drop a transition between two
 clips and it appears between them on the lane. Everything can be taken back.

 Everything it needs travels with it. There is no ffmpeg to install first, no
 codec pack, no Python or Qt to match — which is the point of shipping it as
 one file.

 Written for LinuxDoors, though nothing in it is specific to LinuxDoors — it
 runs on Debian and Ubuntu type systems, and on any other Linux distribution
 that can run an AppImage.


-------------------------------------------------------------------------------
 The preview is the film
-------------------------------------------------------------------------------

 This is the part worth understanding, because it is where video editors
 usually let you down.

 Every frame you see while dragging the playhead about is composed by the same
 code that composes the exported file. The same decoder, the same effects, the
 same transitions, the same titles, in the same order. There is no second,
 faster, rougher preview path that can disagree with what finally comes out.
 The export takes those frames and writes them straight into ffmpeg as raw
 pixels.

 That is a measurable claim, so it was measured: 142 frames of an exported
 film compared against what the preview composes at the same moments came to
 an average difference of 1.82 levels out of 255 — which is H.264's own
 compression, not the composing.

 What you gain is that a fade lands where you put it, a title sits where you
 left it, and a transition looks in the file exactly as it looked on screen.


-------------------------------------------------------------------------------
 What is on the lanes
-------------------------------------------------------------------------------

 PICTURES
     Video clips and photographs, one after another. Each has its own length,
     its own start point inside the original file, its own speed from a
     quarter to eight times, its own volume, and its own effect. A photograph
     gets however many seconds you say.

 TITLES
     Words on the screen, either over the picture or on a card of their own.
     Eight styles, three positions, and six ways of arriving including rolling
     credits.

 MUSIC
     One song under the whole film, with its own volume and a fade in and out.

 NARRATION
     Speech over the top, kept separate from the music so the two can be
     balanced against each other.


-------------------------------------------------------------------------------
 Effects and transitions
-------------------------------------------------------------------------------

 TWENTY EFFECTS
     Fade in, fade out, fade both ends, black and white, sepia, old film,
     brighter, darker, more contrast, warmer, cooler, soft focus, pixelate,
     vignette, mirror, flip, rotate left, rotate right, and a slow zoom in or
     out — which is what stops a photograph looking like a photograph.

 SIXTEEN TRANSITIONS
     Crossfade, fade through black, flash through white, wipe left right up
     and down, slide in from any of the four sides, circle opening, circle
     closing, blinds, checkerboard and dissolve.

     A transition eats into both clips rather than being added between them,
     so putting one in does not make the film longer than you expected.

 MAKE IT FOR ME
     One button that builds a whole film out of everything you have brought
     in: the clips in order, a different transition between each pair, a slow
     zoom on every still, an opening title with today's date, The End at the
     end, and the music underneath trimmed to the length of the pictures.
     Then change whatever you like.


-------------------------------------------------------------------------------
 Unlimited undo and redo
-------------------------------------------------------------------------------

 Every change can be taken back, and there is no ceiling on how far.

 That is affordable because of what a step is. The undo history holds the film
 described in words — which clips, in what order, with which effects and how
 loud — and not one frame of your video. A step comes to about seven hundred
 bytes. Four hundred changes to a film came to 287 KB, and all four hundred
 were taken back and put forward again with everything exactly where it was.

 So it keeps every step by default. If you would rather it did not, Edit then
 Undo steps lets you stop at a number, and change your mind again at any time.


-------------------------------------------------------------------------------
 The formats
-------------------------------------------------------------------------------

 IT OPENS
     video    mp4  mov  mkv  avi  webm  m4v  mpg  mpeg  wmv  flv  ogv  3gp
              ts  mts  m2ts  vob  asf  divx
     photos   jpg  jpeg  png  bmp  gif  webp  tif  tiff  heic  avif  ppm
              pgm  tga  ico
     sound    mp3  wav  aac  m4a  flac  ogg  oga  opus  wma  aiff  aif
              ac3  amr

 IT WRITES
     MP4 at 1080p, 720p, 480p or the size of the film itself
     MP4 in H.265, for a smaller file of the same quality
     WebM in VP9, for putting on a web page
     MKV in H.264
     MOV in ProRes, for taking into another editor
     Animated GIF, with a palette built from the film so it does not band
     MP3 of the sound on its own

 ITS OWN FILE
     .lmm — a zip holding one readable JSON describing the film. It points at
     your video where it already lives rather than copying it, so a project
     file is a few kilobytes rather than a few gigabytes. If something has
     moved since, it says which, and everything else still works.


-------------------------------------------------------------------------------
 Being careful with your work
-------------------------------------------------------------------------------

 IT WILL NOT LEAVE HALF A FILM BEHIND.
     Stopping an export removes the part-written file rather than leaving
     something that looks like a finished film and is not.

 IT ASKS BEFORE WRITING OVER ANYTHING.
     Both the film file and the exported movie.

 IT TELLS YOU WHAT IS MISSING BEFORE IT STARTS.
     If a clip has been moved or deleted since you last opened the project,
     it says which ones and asks whether to go on, rather than quietly
     exporting several seconds of black.

 LIGHT AND DARK
     Both, switched with one key, with every colour pair in both themes
     measured against the WCAG contrast standard rather than judged by eye:

         LinuxMovieMaker.AppImage --check-contrast


-------------------------------------------------------------------------------
 On the command line
-------------------------------------------------------------------------------

     LinuxMovieMaker.AppImage holiday.lmm      open that film
     LinuxMovieMaker.AppImage clip.mp4         start a film from that clip
     LinuxMovieMaker.AppImage --what-works     what this machine can do
     LinuxMovieMaker.AppImage --check-contrast the contrast report
     LinuxMovieMaker.AppImage --version


-------------------------------------------------------------------------------
 LinuxDoors original
-------------------------------------------------------------------------------

 Built by LinuxDoors — this is our own application, not a mirror and not a
 repackaging of somebody else's build. The SHA-256 above is authoritative.

 It carries its own Python, its own Qt, and its own statically built ffmpeg
 and ffprobe, so every format above opens and every format above is written on
 a computer with nothing installed on it. The timeline, the compositor, the
 effects, the transitions and the titles are all the program's own code.

 One honest note. Hearing the sound while you edit uses the machine's own
 media libraries, so on a computer with no ffmpeg libraries installed the
 editing is silent. Nothing else changes: the picture, the timeline and the
 exported film's sound all come from the ffmpeg carried inside, and the
 program says which it found:

     LinuxMovieMaker.AppImage --what-works


-------------------------------------------------------------------------------
 Running it — nothing to install
-------------------------------------------------------------------------------

     chmod +x LinuxMovieMaker.AppImage
     ./LinuxMovieMaker.AppImage

 Or give it something to start from:

     ./LinuxMovieMaker.AppImage holiday.lmm

 On LinuxDoors, which has no FUSE, run it the way LinuxDoors runs any AppImage:

     ./LinuxMovieMaker.AppImage --appimage-extract-and-run

 or through linuxdoors-run-appimage, which does that for you and unpacks it
 once rather than on every launch.

 Settings live in ~/.config/LinuxMovieMaker/LinuxMovieMaker.save and are
 written when the program closes. Deleting that file puts everything back as
 it started.
