A library for parsing/building frame ranges and sequences. A port of the python fileseq library, for Go (https://github.com/sqlboy/fileseq)
C++ Go Other
Clone or download
Permalink
Failed to load latest commit information.
cmd Re-organize vendor and add vgo module support Jul 15, 2018
cpp cpp: Support a negative stepping value when start > end in frame rang… Jun 3, 2018
exp/cpp exp/cpp: Makefile cleans up all libraries Jun 16, 2018
ranges Update to using string.Builder to reduce allocations (go >= 1.10) Feb 19, 2018
src/github.com/justinfx Add a waf wscript for extra build support May 5, 2016
testdata go: Support long file extensions like file.0001.tar.gz Mar 11, 2018
vendor Re-organize vendor and add vgo module support Jul 15, 2018
.gitignore Update gitignore for pkg Feb 19, 2018
.goreleaser.yml Update goreleaser for different build variants and naming Feb 19, 2018
.travis.yml Fix travis build for migrated cpp source location Apr 15, 2018
CHANGES Fix changelog version number Apr 15, 2018
LICENSE Update changelog for 0.9.2 Apr 25, 2015
README.md restructure cpp source to move old Go bindings to ext and port to "cpp" Apr 15, 2018
bench_test.go Implement Invert/Normalize functions; bump 1.1.0 Sep 17, 2015
fileseq.go Support a negative stepping value when start > end in frame range str… Jun 3, 2018
fileseq_test.go Support a negative stepping value when start > end in frame range str… Jun 3, 2018
frameset.go Support a negative stepping value when start > end in frame range str… Jun 3, 2018
glide.lock Re-organize vendor and add vgo module support Jul 15, 2018
glide.yaml Re-organize vendor and add vgo module support Jul 15, 2018
go.mod set the main go.mod to v2 Jul 15, 2018
go.sum Re-organize vendor and add vgo module support Jul 15, 2018
pad.go Fixes #7 - Allow for switching between frame padding styles (Katana,… May 13, 2016
sequence.go Update to using string.Builder to reduce allocations (go >= 1.10) Feb 19, 2018

README.md

Fileseq

Go project version GoDoc Travis Build Status Go Report

A Go language library for parsing file sequence strings commonly used in VFX and animation applications.

Ported from the original fileseq Python library: https://github.com/sqlboy/fileseq

For C++, see C++ Support

Frame Range Shorthand

Support for:

  • Standard: 1-10
  • Comma Delimted: 1-10,10-20
  • Chunked: 1-100x5
  • Filled: 1-100y5
  • Staggered: 1-100:3 (1-100x3, 1-100x2, 1-100)
  • Negative frame numbers: -10-100
  • Padding: #=4 padded, @=single pad

Sequence Formats

Sequences of files are expected to follow a pattern similar to:

  • /path/to/some/file_foo.0100.exr
  • /path/to/some/file_foo.1-100#.jpg
  • /path/to/some/file_foo.1-100@@@.tif

Install

go get github.com/justinfx/gofileseq

Also included is a seqls tool, which uses gofileseq to produce an executable, used for listing sequences on the filesystem:

And seqinfo tool, which can print plain-text or json parsed information about one or more sequence strings.

Download the latest binary release

Or install from source:

go get github.com/justinfx/gofileseq/cmd/seqls
seql some/images
# some/images/file_foo.1-100@@@.tif

C++ Support

A C++ pure port of gofileseq is also available in the cpp dir