now can add chance to glitch

main
Simon Kellet 1 month ago
parent 2f3c65ae9f
commit 23585f58a8
  1. 5
      glitch.go
  2. 18
      main.go

@ -71,12 +71,11 @@ func copyImage(inputFile string, outputFile string) error {
return nil
}
func generateGlitchedSequence(inputFile string, totalImages int, shitSize int64, iterations int64) {
func generateGlitchedSequence(inputFile string, totalImages int, shitSize int64, iterations int64, chanceToRandom int32) {
for i := 1; i <= totalImages; i++ {
outputFileName := fmt.Sprintf("img_glitched_%d.jpeg", i) // Generate unique filenames
// Randomly decide whether to glitch or copy the image
if rand.Int32N(2) == 0 {
if rand.Int32N(100) < chanceToRandom {
// Glitched image
err := glitchImage(inputFile, outputFileName, shitSize, iterations)
check(err, "failed to glitch image: %w")

@ -15,12 +15,13 @@ import (
const MAX_SIZE = 1000000
func main() {
if len(os.Args) < 5 {
fmt.Println("Usage: go run main.go <source-file> <number-of-copies> <shit-size> <iterations>")
if len(os.Args) < 6 {
fmt.Println("Usage: go run main.go <source-file> <number-of-copies> <shit-size> <iterations> <chance-to-random % (0-100)>")
return
}
sourceFile := os.Args[1]
numCopies, err := strconv.Atoi(os.Args[2])
if err != nil || numCopies <= 0 {
fmt.Println("Invalid number of copies. Must be a positive integer.")
@ -39,8 +40,19 @@ func main() {
iterations, err := strconv.ParseInt(os.Args[4], 10, 8)
check(err, "Cannot parse iterations. Must be a positive integer")
chanceToRandom, err := strconv.ParseInt(os.Args[5], 10, 32)
if err != nil || chanceToRandom < 0 {
fmt.Println("Invalid random chance value. Must be a positive integer (0-100).")
return
} else if chanceToRandom > 100 {
fmt.Println("Invalid random chance value. Must range between 0 to 100.")
return
}
fmt.Fprintf(os.Stdout, "Generating:\n %d copies of %s\n %d random bytes of data\n %d interations(s)\n Chance to random %d%%\n\n",
numCopies, sourceFile, shitSize, iterations, chanceToRandom)
makeOutputDir()
generateGlitchedSequence(sourceFile, numCopies, shitSize, iterations)
generateGlitchedSequence(sourceFile, numCopies, shitSize, iterations, int32(chanceToRandom))
ffmpegGenerateMP4()
clearOutputDir()
}

Loading…
Cancel
Save