CMS

WorkFlow

graph TB


subgraph assets[App/book/assets]
  subgraph audios
    short
    long
    subgraph sync
      mp3
      timecode[timecode txt]
    end
  end

  subgraph images
    page1
    page2
    page3
  end

  subgraph videos
  end

  subgraph spreadsheets
  end

end


descriptors -.-> prompts-.-> AI -. files .-> Adobe

creatorA((generative artist)) --> notebook
creatorA -->descriptors


subgraph Adobe[Media Files Library]
  Photoshop
  Illustrator
  Animate
  Premiere
  AfterEffects
  Audition
end

Photoshop -.-> UXP
UXP[kwik extension] -. png jpg path .->images

Animate -.-> spreadsheets
Premiere -.-> videos
AfterEffects-.->videos
Audition -.- audios
Illustrator -. svg, png, jpg .->images


creatorC((content creator)) -.-> Adobe

generative AI

graph TB

subgraph descriptors[media descriptors]
  fountain[fountain screenplay]
  description[image/video/audio descriptions]
end

subgraph notebook[jupyter notebook]
  python[python scripts/curl/wget ..]
  prompts
  OCR
  text[extracted text]

  OCR-.->text
end

subgraph AI[gen AI]
  SML
  eleventhLabs
  suno
  stableDiffusion[SD/Midjourney]
end

SML -. anew or refined .->descriptors


subgraph assets[App/book/assets]
  subgraph audios
    short
    long
    subgraph sync
      mp3
      timecode[timecode txt]
    end
  end

  subgraph images
    page1
    page2
    page3
  end

  subgraph videos
  end

  subgraph spreadsheets
  end


end

descriptors -.-> prompts-.-> AI -. files .-> Adobe[(Media Files Library)]

creatorA((generative artist)) --> notebook
creatorA -->descriptors

Adobe -. publish .-> assets

  • App/book/assets/model.lua

    local M = {
      -- audios = {}, sprites = {},
      -- videos = {}
    
      audios = {
        {
          name = "click.mp3",
          path = "audios/short",
          links = {{page = "page1"}, {page = "page2"}}
        }
      },
      videos = {
        {
          name = "videoA.mp4",
          path = "videos",
          links = {
            {page= "page01", layers = {"layerA1", "layerA10"}},
            {page= "page02", layers = {"layerA2", "layerA20"}}
          },
        },
        {
          name = "videoB.mp4",
          path = "videos",
          links = {{page= "page01", layers = {"layerB"}}}
          }
      },
    
    }
    return M

    links are updated when creating/deleting a compoenet(audio, video etc) in kwik editor

    read with self.assetsSelector:onClick or selectBook.loadPage()

  • editor/assets/index.lua

    local function readAsset(path, folder, map, parent)
      -- print(path.."/"..folder)
      local entries = {}
      local success = lfs.chdir( path.."/"..folder )
      if success then
        for file in lfs.dir( path.."/"..folder ) do
          if util.isDir(file) and file~="." and file~=".."  then
            -- print("", "@Found dir " .. file )
            local children = readAsset(path.."/"..folder, file, map, folder)
            for i=1, #children do
              entries[#entries + 1] = children[i]
            end
          elseif file~="." and file~=".."  and file:find(".lua")  ==  nil and file:find("@") == nil and file:find(".json")  ==  nil then
            local mapEntry = map[file]
            if mapEntry == nil then
              if parent==nil then
                entries[#entries + 1] = {name=file, path=folder, links={}}
              else
                local v = parent.."/"..folder
                entries[#entries + 1] = {name=file, path=v:gsub("audios/",""), links={}}
              end
            else
              mapEntry.isExist = true
              entries[#entries + 1] = {name=mapEntry.name, path=mapEntry.path, links=mapEntry.links}
            end
          end
        end
        lfs.chdir( path )
      end
      return entries
    end

Image Tile View extension


Eagle

  • search “-” excludes a word

    “-@” excludes @2x, @4x

  • shortcut for search is commnad + F

    it shows text file too