diff --git a/Acid.Cam.v2.OSX/ac-filter-new.cpp b/Acid.Cam.v2.OSX/ac-filter-new.cpp index 3870dcc3..8269dedf 100644 --- a/Acid.Cam.v2.OSX/ac-filter-new.cpp +++ b/Acid.Cam.v2.OSX/ac-filter-new.cpp @@ -637,3 +637,374 @@ void ac::Placement(cv::Mat &frame) { } } } + +void ac::FrameSep3(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + static int line_wait = 2+rand()%300; + + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + if(((z%line_wait)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + line_wait = 2+rand()%300; + } + } +} + +void ac::FrameSep4(cv::Mat &frame) { + static constexpr int MAX = 8; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + static int line_wait = 2+rand()%(frame.rows/2); + + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + if(((z%line_wait)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%40; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%40; + } + line_wait = 2+rand()%(frame.rows/2); + } + } +} + +void ac::FrameSep5(cv::Mat &frame) { + static constexpr int MAX = 4; + static ac::MatrixCollection collection; + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%10==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + static int line_wait = 2+rand()%(frame.rows/2); + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + if(((z%line_wait)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%60; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%60; + } + line_wait = 2+rand()%(frame.rows/2); + } + } +} + +void ac::FrameSepDiff(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + cv::Mat &old = collection.frames[7]; + cv::Vec3b &old_pix = old.at(z, i); + for(int q = 0; q < 3; ++q) { + if(abs(pixel[q]-old_pix[q]) > 25) { + pixel[q] = pix[q]; + } + } + } + if(((z%240)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + } + } +} + +void ac::FrameSepResize(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + + cv::Mat &old = collection.frames[7]; + ac::Square_Block_Resize_Vertical(old); + + + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + cv::Vec3b &old_pix = old.at(z, i); + for(int q = 0; q < 3; ++q) { + if(abs(pixel[q]-old_pix[q]) > 25) { + pixel[q] = pix[q]; + } + } + } + if(((z%240)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + } + } +} +void ac::FrameSepResize2(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + + cv::Mat &old = collection.frames[7]; + ac::Square_Block_Resize_Vertical_RGB(old); + + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + cv::Vec3b &old_pix = old.at(z, i); + for(int q = 0; q < 3; ++q) { + if(abs(pixel[q]-old_pix[q]) > 5) { + pixel[q] = pix[q]; + } + } + } + if(((z%240)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + } + } +} +void ac::FrameSepSquare(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + cv::Mat &old = collection.frames[7]; + ac::SquareShift(old); + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + cv::Vec3b &old_pix = old.at(z, i); + for(int q = 0; q < 3; ++q) { + if(abs(pixel[q]-old_pix[q]) > 5) { + pixel[q] = pix[q]; + } + } + } + if(((z%240)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + } + } +} +void ac::FrameSepH(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + for(int i = 0; i < frame.cols; ++i) { + for(int z = 0; z < frame.rows; ++z) { + if(on == false) break; + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + if(((i%240)==0) && ++off > MAX-1) { + off = 0; + static int cnt = 0; + static int wait = rand()%10; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%10; + } + } + } +} + +void ac::FrameSkip(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + if(on == true) { + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + cv::Vec3b &pixel = frame.at(z, i); + cv::Mat &f = collection.frames[off]; + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + } + } + + off++; + if(off > MAX-1) + off = 0; + static int cnt = 0; + static int wait = rand()%20; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%20; + } +} + +void ac::FrameSkipResize(cv::Mat &frame) { + static constexpr int MAX = 16; + static ac::MatrixCollection collection; + + if(collection.empty()) { + collection.shiftFrames(frame); + srand(static_cast(time(0))); + } else if(rand()%5==0) + collection.shiftFrames(frame); + static bool on = false; + static int off = 0; + if(on == true) { + cv::Mat &f = collection.frames[off]; + ac::Square_Block_Resize_Vertical(f); + for(int z = 0; z < frame.rows; ++z) { + for(int i = 0; i < frame.cols; ++i) { + cv::Vec3b &pixel = frame.at(z, i); + cv::Vec3b pix = f.at(z, i); + pixel = pix; + } + } + } + + off++; + if(off > MAX-1) + off = 0; + static int cnt = 0; + static int wait = rand()%20; + ++cnt; + if(cnt > wait) { + on = !on; + cnt = 0; + wait = rand()%20; + } +} + + diff --git a/Acid.Cam.v2.OSX/ac-filter1.cpp b/Acid.Cam.v2.OSX/ac-filter1.cpp index 0a3768a1..b83923dc 100644 --- a/Acid.Cam.v2.OSX/ac-filter1.cpp +++ b/Acid.Cam.v2.OSX/ac-filter1.cpp @@ -45,13 +45,13 @@ // Acid Cam namespace namespace ac { #if defined(__APPLE__) - const std::string version="2.81.0 (macOS)"; + const std::string version="2.82.0 (macOS)"; #elif defined(__linux__) - const std::string version="2.81.0 (Linux)"; + const std::string version="2.82.0 (Linux)"; #elif defined(_WIN32) - const std::string version="2.81.0 (Windows)"; + const std::string version="2.82.0 (Windows)"; #else - const std::string version="2.81.0 (Generic)"; + const std::string version="2.82.0 (Generic)"; #endif std::mutex col_lock; std::atomic swapColorOn(true); @@ -109,8 +109,10 @@ namespace ac { {"FrameOffsetRSize4",FrameOffsetRSize4}, {"SqOnOff", SqOnOff}, - {"SqOnOffAlpha", SqOnOffAlpha}, {"SqOnOffAlphaClip", SqOnOffAlphaClip}, {"SqOnOffAlphaClipFast", SqOnOffAlphaClipFast}, {"SqOnOffAlphaPixel", SqOnOffAlphaPixel}, {"SqOnOffDiff", SqOnOffDiff}, {"SqOnOffSize", SqOnOffSize},{"Placement", Placement}, - + {"SqOnOffAlpha", SqOnOffAlpha}, {"SqOnOffAlphaClip", SqOnOffAlphaClip}, {"SqOnOffAlphaClipFast", SqOnOffAlphaClipFast}, {"SqOnOffAlphaPixel", SqOnOffAlphaPixel}, {"SqOnOffDiff", SqOnOffDiff}, {"SqOnOffSize", SqOnOffSize},{"Placement", Placement},{"FrameSep3", FrameSep3}, {"FrameSep4", FrameSep4},{"FrameSep5", FrameSep5},{"FrameSepDiff", FrameSepDiff}, +/**/ + {"FrameSepResize", FrameSepResize}, {"FrameSepResize2", FrameSepResize2}, {"FrameSepSquare", FrameSepSquare}, {"FrameSepH", FrameSepH}, {"FrameSkip", FrameSkip}, {"FrameSkipResize", FrameSkipResize}, + {"No Filter",NoFilter}, {"Blend with Source",BlendWithSource}, {"Plugin",plugin}, {"Custom",custom}, {"DummyFiller",Empty}, {"DummyFiller",Empty}, {"DummyFiller",Empty}}; FilterType *filter_array = &filters[0]; @@ -2520,6 +2522,16 @@ std::vector ac::buildDrawStrings() { v.push_back("SqOnOffDiff"); v.push_back("SqOnOffSize"); v.push_back("Placement"); + v.push_back("FrameSep3"); + v.push_back("FrameSep4"); + v.push_back("FrameSep5"); + v.push_back("FrameSepDiff"); + v.push_back("FrameSepResize"); + v.push_back("FrameSepResize2"); + v.push_back("FrameSepSquare"); + v.push_back("FrameSepH"); + v.push_back("FrameSkip"); + v.push_back("FrameSkipResize"); v.push_back("No Filter"); v.push_back("Blend with Source"); diff --git a/Acid.Cam.v2.OSX/ac-filtercat.cpp b/Acid.Cam.v2.OSX/ac-filtercat.cpp index f6483823..6fb7b376 100644 --- a/Acid.Cam.v2.OSX/ac-filtercat.cpp +++ b/Acid.Cam.v2.OSX/ac-filtercat.cpp @@ -114,7 +114,9 @@ namespace ac { std::vector vzBlend { "Self AlphaBlend", "Self Scale", "Blend #3", "Negative Paradox", "ThoughtMode", "RandTriBlend", "Filter3","Rainbow Blend","Rand Blend","Pixel Scale","Pulse", "Combine Pixels", "Blend_Angle", "XorMultiBlend", "UpDown","LeftRight", "BlendedScanLines","XorSine", "FrameBlend", "FrameBlendRGB", "PrevFrameBlend", "HorizontalBlend", "VerticalBlend", "OppositeBlend", "DiagonalLines", "HorizontalLines", "BlendSwitch", "IncreaseBlendHorizontal", "BlendIncrease", "ColorRange", "VectorIncrease", "BlendThree", "HorizontalStripes", "Dual_SelfAlphaRainbow", "Dual_SelfAlphaBlur", "SurroundPixelXor", "WeakBlend", "AverageVertical", "RandomAlphaBlend", "RandomTwoFilterAlphaBlend", "AlphaBlendPosition", "BlendRowAlpha", "BlendRow", "BlendRowByVar", "BlendRowByDirection", "BlendAlphaXor", "SelfXorScale", "SelfAlphaRGB", "XorSelfAlphaImage", "AlphaBlendRandom", "ChannelSortAlphaBlend", "RandomXor", "RandomXorFlash", "SoftXor", "SelfXorBlend", "SelfXorDoubleFlash", "SelfOrDoubleFlash", "BlendRowCurvedSqrt", "CycleShiftRandomAlphaBlend", "TanAlphaGrid", "BlendInAndOut", "BlendScaleInAndOut", "AcidGlitch", "LiquidFilter", "MatrixXorAnd", "XorAlpha", "SelfXorAverage", "RandomXorBlend", "RGBVerticalXor", "RGBVerticalXorScale", "RGBHorizontalXor", "RGBHorizontalXorScale", "FadeInAndOut", "InitBlend", "LagBlend", "SubFilter","AlphaBlendSubFilter", "SmoothSubFilterAlphaBlend", "IntertwineSubFilter", "RandBlend", "EveryOther", "EveryOtherSubFilter", "SmoothSubFilter", "EnergizeSubFilter", "SmoothSubFilter16", "EnergizeSubFilter16", "EnergizeSubFilter32", "SmoothSubFilter32", "HalfAddSubFilter", "HalfXorSubFilter", "StaticXorBlend", "XorScale", "ChannelMedianSubFilter", "Bitwise_XOR_Blend", "Bitwise_OR_Blend", "Bitwise_AND_Blend", "PixelReverseXor", "SilverBlend", "PixelXorBlend", "SelfAlphaScale", "SelfScaleAlpha", "RainbowXorBlend", "FadeBlend", "SelfAlphaScaleBlend", "FadeBars", "ShadeRGB", "InterRGB_SubFilter", "InterSmoothSubFilter", "InterRGB_Bars_XY", "InterRGB_Bars_X", "InterRGB_Bars_Y", "StoredFramesAlphaBlend_SubFilter", "BlendSubFilter", "BlendAlphaSubFilter", "ReverseFrameBlend", "ReverseFrameBlendSwitch", "Blend_AlphaSubFilter","RandomBlendFilter","DoubleRandomBlendFilter", "FlipBlendW", "FlipBlendH", "FlipBlendWH", "FlipBlendAll", "FrameMedianBlendSubFilter", "SelfScaleXorIncrease", "Blend_RedGreenBlue", "Blend_RedReenBlue_Dark", "DarkModBlend", "IncDifference", "IncDifferenceAlpha", "MirrorMedianBlend", "SubFilterMedianBlend", "DarkenBlend", "DarkCollectionSubFilter", "DarkSmooth_Filter", "DarkSelfAlpha", "FlipMedian", "FlipMedianSubFilter", "Bars", "BlendBurred", "BlendCombinedValues", "BlendCombinedValueSubFilter", "BlendSubFilterAlpha", "PurpleRain", "CopyXorAlpha", "AveragePixelsXor", "AveragePixelAlpha", "NegativeByRow", "AveragePixelCollection", "IncorrectLine", "XorShift", "RGBSep1x", "RandomIncrease", "BGRBlend", "RGBBlend", "IncreaseDecreaseGamma", "GammaIncDecIncrease", "SelfScaleSortBlend", "FlipAlphaBlend", "RandomFlipFilter", "FlipMatrixCollection", "SelfScaleByFrame", "SmoothCollectionAlphaBlend", "ShuffleAlphaWithRGB", "ShuffleAlphaMedianBlend", "AverageLinesBlend", "AverageVerticalLinesBlend", "PixelValuesPlusOne", "AverageHorizontalFilter", "AverageVerticalFilter", "SmoothRainbowMedian", "MatrixCollectionBlend", "MatrixCollectionXor", "MatrixCollectionXor32", "MatrixCollectionRandomColorMap", "MatrixCollectionDarkXor", "MatrixCollectionRGB", "SmoothMedianBlend", "ColorTransition", "ColorTransitionRandom", "CosSinMedianBlend", "CosSinMultiplyCollectionXor", "RandomSmoothAlphaMedian", "ColorExpand", "ColorXorScale", "MatrixCollectionXorBlendAlphaBlend", "Bitwise_XOR_BlendFrame", "SimpleMatrixBlend", "SurroundingPixels", "SurroundingPixelsAlpha", "MatrixCollectionSurroundingPixels", "ColorFlashIncrease", "ScaleFilter", "NegativeDarkenXor", "ChangeXorEachSecond", "MorphXor", "XorFrameShuffle", "ChannelSortMedianBlend", "SplitFrameBlend", "SplitFrameCollection", "SplitFrameMirror", "IncreaseRGB", "XorDifferenceFilter", "MatrixCollectionVariable", "SmoothFrame64", "SmoothFrame32", "MedianBlendIncreaseFilter", "MedianBlendNegate", "BlendWithOldFrame", "BlendWith16thFrame", "MatrixCollectionRandom", "MatrixCollectionRandomSmooth", "MatrixCollectionRandomDouble", "MatrixCollectionAddImage", "MedianBlendSquare", "SmoothIntertwineMedianBlend", "ShadowAlphaTrails16", "ShadowAlphaTrailsReset", "ShadowAlphaTrails", "FadeFromColorToColor", "BlendImageLayer", "AlphaBlendRandom_Filter","ResizeImageAndFrameBlend", "ColorsFilter", "ColorFadeFilter", "ColorChannelMoveUpAndDown", "AlphaBlendFlippedFilter", "ColorVariableBlend", "ColorXorBlend", "ColorAddBlend", "SelfAlphaBlendMultiThread", "BytePixelSort", "BlendChannelXor","ColorShiftXor", "XorMultiply", "ColorShadowBlend", "ColorRGB_IncDec", "ColorCollection", "ColorCollectionRandom", "ColorCollectionStrobeShift", "ColorCollectionRandom_Filter", "ColorCollectionShift", "CollectionEnergy", "ColorCollectionInterlace", "ColorCollectionStrobeShake", "ColorCollectionSubtle","ColorCollection64", "ColorCollectionSubtleStrobe", "CollectionRandom","CollectionRandomSubFilter", "CollectionAlphaXor","ColorCollection64X", "ColorCollectionSwitch", "ColorCollectionRGB_Index", "ColorCollectionReverseStrobe", "ColorCollectionXorPixel", "ColorCollectionXorOffsetFlash", "ColorCollectionMatrixGhost", "ColorPositionAverageXor","ColorPositionXor", "ColorCollectionPixelXor", "ColorGhost", "ColorCollectionTwitchSubFilter", "Buzzed", "BuzzedDark", "AlphaBlendImageDownUp", "BlendWithImageAndSource", "PixelSourceFrameBlend256", "SplitMatrixCollection", "RectangleGlitch", "ColorCollectionMovementIndex", "Shake", "Disoriented", "ColorCollectionPositionStrobe", "ColorCollectionStrobeBlend", "AlphaBlendStoredFrames", "ShiftColorLeft", "CycleInAndOutRepeat", "ColorCollectionShuffle", "BlendImageXtoY", "BlendForwardAndBack16", "BlendForwardAndBack32", "BlendForwardAndBack64","BlendForwardAndBack8_RandomStrobe", "AlphaBlendWithThreeCollections", "AlphaBlendArrayRandom","AlphaBlendArrayTrailsFilters", "AlphaBlendMirrorChannelSort","ColorCollectionAlphaBlendArray", "ColorMatrixCollectionPixelation", "ColorChannelIteration", "ColorFreezeBlend", "ColorImageFillMatrix", "ColorImageFillSubFilter", "ColorIncrementReset", "ColorPixelArray2D", "ManualShell", "ColorIncrementRandomReset", "ColorMoveDown", "PixelatePixelValues", "PixelPsychosis", "PixelCloud", "PiixelXorBlendFrame", "PixelCollectionRandom", "ColorPulseIncrease", "ColorPulseRandom", "ColorPulseAlpha", "LightBlend", "LightBlendXor", "SingleFrameGlitch", "ColorFadeSlow", "FadeBetweenSubFilter", "FadeBetweenFrame", "NegateNoBlurMedian", "PulseIncreaseVariableSpeed", "PulseIncreaseFast", "FibonacciXor", "ColorFibonacci", "SelfScaleRefined", "SelfScaleRefinedRGB", "MultiRandFilter", "MultiFilter", "ColorMatrixTrailsSubFilter", "StrangeGlitch64", "CollectionMatrixOutline", "CollectionMatrixRandomMedianBlend", "CollectionMatrxOutlineAlphaMedianBlend", "MatrixCollectionAuraTrails", "PixelIntensityFillSubFilter", "BlendWithSourceMedianBlendMultiThreadEight", "BlendWithImageMedianMutliThreadEight", "DarkColorMovement", "DarkColorFibonacci", "SelfAlphaScale_Down", "PsychoticVision", "DarkPsychoticVision", "ImageColorCycleMorph", "RainbowXorStrobeBlend", "IncreaseRainbowXorBlend", "MatrixCollectionRandomFrames", "MatrixCollectionFrames", "MatrixCollectionFramesLeft", "MatrixCollectionFramesMirrorLeft", "MatrixCollectionFramesTop", "FrameSqueeze", "MatrixCollectionBlendLeftToRight","MatrixCollectionAdd", "MatrixCollection_Xor", "MatrixCollectionNegateAdd", "MatrixCollectionAlphaRow", "DigitalHaze", "BlendWithColor", "DigitalHazeBlend", "ColorMovement", "ColorMovementRange", "ColorPixelOrder", "ColorPixelOrder32", "SelfScaleGlitch", "PixelGlitch", "SlowRed", "SlowGreen", "SlowBlue", "ReduceColors", "ReduceColorsRandom", "ReduceColorsRed", "ReduceColorsGreen", "ReduceColorsBlue", "BlendRandomPixels", "ColorIncreaseFadeRGB", "ColorIncreaseInOutRGB", "DarkScaleNoBlur", "FadeRtoGtoB", "FadeRtoGtoB_Increase", "FadeRandomChannel", "FadeRandomChannel_Increase", "Variable_ColorScale", "MedianBlendVariable_ColorScale", "InOut_ColorScale", "Pixels_InOut", "PixelDistortionCloud", "XorRow", "CollectionPixelFade", "SmoothSelfBlend", "XorScaleValue", "ScanlineBlack", "ScaleUpDown","PixelateBlend", "PixelateRect", "RGBSplitFilter", "FloatFade", "FloatFadeRandomIncrease", "FloatFadeRGB", "FloatFadeVertical", "FadeInOutBlendRGB", "FadeInOutReverseRGB", "AlphaComponentIncrease", "FadeOnOff", "FadeRGB_Speed","FadeRGB_Variable"}; - std::vector svDistort { "Tri","Distort","CDraw","Sort Fuzz","Fuzz","Boxes","Boxes Fade", "ShiftPixels", "ShiftPixelsDown","WhitePixel", "Block", "BlockXor","BlockStrobe", "BlockScale", "InvertedScanlines", "ColorMorphing", "NegativeStrobe", "ParticleRelease","ParticleBlend","ParticleFlash","ParticleAlpha","ParticleReleaseXor","ParticleReleaseXorVec", "All Red", "All Green", "All Blue", "LineRGB", "PixelRGB", "BoxedRGB", "KruegerSweater", "RGBStatic1", "RGBStatic2", "FrameBars", "Lines", "WhiteLines", "ThickWhiteLines", "UseLineObject","ParticleFast", "PictureBuzz", "ParticleSnow", "RandomPixels", "DarkRandomPixels", "PixelatedHorizontalLines", "PixelatedVerticalLines", "TwistedVision", "ParticleReleaseAlphaBlend", "ParticleReleaseWithImage", "PixelateNoResize12", "PixelateNoResize8", "PixelateNoResize32", "PixelateNoResize16", "PixelateNoResize24", "StretchAlphaBlend", "StretchAlphaBlendWidth", "StretchAlphaBlendHeight", "StretchAlphaBlendTwitch", "StretchAlphaBlednTwitchFast", "StretchRandomValues", "VideoStretchHorizontal", "VideoStretchVertical","AverageHorizontalDistortion", "PositionShift", "ShiftMatrixLeft","GlitchyTrails", "GlitchyXorTrails", "GlitchedFilter", "StaticGlitch", "SoftwareGlitch_64", "GlitchedGrid", "ShuffleGlitch", "TruncateColor", "TruncateColor25", "TruncateColor75", "TruncateVariable", "TruncateVariableSlow", "TruncateVariableScale","UseOldRow", "UseEveryOtherRow", "UseOffRow", "FrameJump", "UseOffRowVert", "UseOldRowVert", "UseEveryOtherRowVert", "UseOffRowDir", "UseOldRowDir", "UseEveryOtherRowDir", "UseOldRow64", "UseOldRowVert64", "UseOldRowDir64", "StretchRowMatrix16", "StretchRowMatrix32", "StretchRowMatrix8", "StretchColMatrix8", "StretchColMatrix16", "StretchColMatrix32", "HorizontalGlitch", "VerticalGlitch", "HorizontalXor", "VerticalXor", "Vertical_Horizontal_Glitch", "HorizontalSplitGlitch", "VerticalSplitGlitch", "HorizontalRandomLine", "VerticalRandomLine", "PixelInterlace", "PixelInterlaceColSkip", "PixelInterlaceRowSkip", "StartOffsetInterlace", "WaveTrails", "WaveTrailsAura","ColorWaveTrails", "StrobePixelTrails", "RectangleTrails", "RectangleXY_Trails", "GhostWaveTrails","DiamondWave", "RGBWave", "CollectionWave", "TremorShake", "RandomWave", "RandomWaveStartStop","VariableLines", "VariableLinesOffset", "VaraibleLinesRectangle", "VariableLinesRectangleSource", "VariableLinesStartRectangle", "VariableLinesStartRectangleBlend", "VariableLinesOnOffBlend", "VariableCollectionLinesOffBlend", "VariableDistortionWave", "VariableDistortionReset", "VariableLinesY", "VariableLinesY_Blend", "VariableLinesY_Wave", "VariableLinesXY_Interlaced", "VariableLinesExpand", "VariableLinesExpandBlend", "PixelateExpandDistort", "PixelateExpandDistortX", "PixelateExpandDistortY", "PixelateExpandDistortExtra", "RectangleSpin", "RectanglePlotXY", "RectangleLines", "DifferenceFillLinesXor", "DistortPixelate", "DistortPixelate64_Slow", "GlitchFadeFromFrameToFrame", "PiecesOfFrames", "ColorRowShift", "ColorRowShiftUp", "ColorRowShiftLeft", "ColorRowShiftRight", "HorizontalColorOffset", "Warp", "WarpDir", "WarpTopLeft", "WarpRandom","WarpStretch", "PreviousFrameXor", "BlackLines", "Zoom", "ZoomCorner","ZoomRandom", "OffTrackX", "OffTrackY", "FrameAlphaInsert", "DiagPixel", "DiagPixelY", "DiagPixelY2", "DiagPixelY3", "DiagPixelY4","ExpandLeftRight","DiagSquare", "DiagSquareLarge", "DiagonalSquareCollection", "DiagnoalSquareSize", "DiagonalSquareSizeOnOff", "DiagonalSquareSizeOnOffRandom","SlitScanGUI", "SlitScanRandom", "StretchLineRow", "StretchLineCol", "StretchLineRowInc", "StretchLineColInc", "StretchRowSplit", "StretchLineRowLeftRight", "PixelateRandom", "PixelateFillRandom", "JaggedLine","ScratchyTrails", "ExpandPixelate", "DiagSquare8","DiagSquareRandom", "SlitScanXGUI", "DiagSquareX", "SlitScanDir", "ScanlineCollection", "StretchLineRowIncRGB", "StretchLineColIncRGB", "StretchLineRowIncSource", "StretchLineColIncSource", "DiagSquareRGB", "ShiftPixelsRGB", "UseOldRowVertRGB", "ColorWaveTrailsRGB", "VariableLinesY_RGB","SlitScanXGUI_RGB", "SlitScanGUI_RGB", "SlitScanDir_RGB", "TwistedVision_RGB", "CollectionWave_RGB", "SlitScan_Colors", "ReverseRandom", "ReverseRandomCollection", "RevesreRandomChannelCollection","ReverseRandomCollectionResize", "SquareBlockGlitch", "SquareStretchRows","SquareStretchRowsDelay","SquareStretchEven", "SketchFilter", "SquareStretchEvenCollection", "SquareStretchEven32", "RGBLineFuzz", "RGBLineFuzzX", "LinesAcrossX", "XorLineX", "ExpandContract", "MoveInThenMoveOut","MoveInThenMoveOutFast", "DistortionFuzz", "DistortionByRow", "DistortionByRowRev", "DistortionByRowVar", "DistortionByRowRand", "DistortionByCol", "DistortionByColRand", "DistortionByColVar", "TearRight", "TearDown", "TearUp", "TearLeft", "DistortStretch", "ShiftLinesDown", "PictureStretch", "PictureStretchPieces", "VisualSnow", "VisualSnowX2", "LineGlitch", "SlitReverse64","SlitReverse64_Increase","SlitStretch", "LineLeftRight", "LineLeftRightResize", "RGBLineTrails", "RGBCollectionBlend", "RGBCollectionIncrease", "RGBCollectionEx", "RGBLongTrails","RGBStrobeTrails", "BoxGlitch", "VerticalPictureDistort","ShortTrail", "DiagInward", "DiagSquareInward", "DiagSquareInwardResize","DiagSquareInwardResizeXY", "ParticleSlide","DiagPixelated","DiagPixelatedResize", "DiagPixelRGB_Collection", "RGBShiftTrails","PictureShiftDown","PictureShiftRight", "PictureShiftDownRight", "FlipPictureShift", "FlipPictureRandomMirror","PictureShiftVariable", "RGBWideTrails", "StretchR_Right","StretchG_Right","StretchB_Right", "StretchR_Down", "StretchG_Down", "StretchB_Down", "Distorted_LinesY", "Distorted_LinesX","TripHSV","Diag_Line_InOut", "XorSumStrobe","LineInLineOut","LineInLineOut_Increase","LineInLineOut2_Increase", "LineInLineOut3_Increase","LineInLineOut4_Increase", "LineInLineOut_ReverseIncrease","LineInLineOut_InvertedY","LineInLineOut_ReverseInvertedY","LineInLineOut_Vertical","LineInLineOut_VerticalIncrease","SquareByRow","SquareByRowRev","SquareByRow2","DivideByValue", "FrameSep", "FrameSep2", "DefStutter","StutterFilter","FrameOffsetRSize","FrameOffsetRSize2","FrameOffsetRSize3","FrameOffsetRSize4", "SqOnOff", "SqOnOffAlpha", "SqOnOffAlphaClip", "SqOnOffAlphaClipFast", "SqOnOffAlphaPixel", "SqOnOffDiff", "SqOnOffSize","Placement" + std::vector svDistort { "Tri","Distort","CDraw","Sort Fuzz","Fuzz","Boxes","Boxes Fade", "ShiftPixels", "ShiftPixelsDown","WhitePixel", "Block", "BlockXor","BlockStrobe", "BlockScale", "InvertedScanlines", "ColorMorphing", "NegativeStrobe", "ParticleRelease","ParticleBlend","ParticleFlash","ParticleAlpha","ParticleReleaseXor","ParticleReleaseXorVec", "All Red", "All Green", "All Blue", "LineRGB", "PixelRGB", "BoxedRGB", "KruegerSweater", "RGBStatic1", "RGBStatic2", "FrameBars", "Lines", "WhiteLines", "ThickWhiteLines", "UseLineObject","ParticleFast", "PictureBuzz", "ParticleSnow", "RandomPixels", "DarkRandomPixels", "PixelatedHorizontalLines", "PixelatedVerticalLines", "TwistedVision", "ParticleReleaseAlphaBlend", "ParticleReleaseWithImage", "PixelateNoResize12", "PixelateNoResize8", "PixelateNoResize32", "PixelateNoResize16", "PixelateNoResize24", "StretchAlphaBlend", "StretchAlphaBlendWidth", "StretchAlphaBlendHeight", "StretchAlphaBlendTwitch", "StretchAlphaBlednTwitchFast", "StretchRandomValues", "VideoStretchHorizontal", "VideoStretchVertical","AverageHorizontalDistortion", "PositionShift", "ShiftMatrixLeft","GlitchyTrails", "GlitchyXorTrails", "GlitchedFilter", "StaticGlitch", "SoftwareGlitch_64", "GlitchedGrid", "ShuffleGlitch", "TruncateColor", "TruncateColor25", "TruncateColor75", "TruncateVariable", "TruncateVariableSlow", "TruncateVariableScale","UseOldRow", "UseEveryOtherRow", "UseOffRow", "FrameJump", "UseOffRowVert", "UseOldRowVert", "UseEveryOtherRowVert", "UseOffRowDir", "UseOldRowDir", "UseEveryOtherRowDir", "UseOldRow64", "UseOldRowVert64", "UseOldRowDir64", "StretchRowMatrix16", "StretchRowMatrix32", "StretchRowMatrix8", "StretchColMatrix8", "StretchColMatrix16", "StretchColMatrix32", "HorizontalGlitch", "VerticalGlitch", "HorizontalXor", "VerticalXor", "Vertical_Horizontal_Glitch", "HorizontalSplitGlitch", "VerticalSplitGlitch", "HorizontalRandomLine", "VerticalRandomLine", "PixelInterlace", "PixelInterlaceColSkip", "PixelInterlaceRowSkip", "StartOffsetInterlace", "WaveTrails", "WaveTrailsAura","ColorWaveTrails", "StrobePixelTrails", "RectangleTrails", "RectangleXY_Trails", "GhostWaveTrails","DiamondWave", "RGBWave", "CollectionWave", "TremorShake", "RandomWave", "RandomWaveStartStop","VariableLines", "VariableLinesOffset", "VaraibleLinesRectangle", "VariableLinesRectangleSource", "VariableLinesStartRectangle", "VariableLinesStartRectangleBlend", "VariableLinesOnOffBlend", "VariableCollectionLinesOffBlend", "VariableDistortionWave", "VariableDistortionReset", "VariableLinesY", "VariableLinesY_Blend", "VariableLinesY_Wave", "VariableLinesXY_Interlaced", "VariableLinesExpand", "VariableLinesExpandBlend", "PixelateExpandDistort", "PixelateExpandDistortX", "PixelateExpandDistortY", "PixelateExpandDistortExtra", "RectangleSpin", "RectanglePlotXY", "RectangleLines", "DifferenceFillLinesXor", "DistortPixelate", "DistortPixelate64_Slow", "GlitchFadeFromFrameToFrame", "PiecesOfFrames", "ColorRowShift", "ColorRowShiftUp", "ColorRowShiftLeft", "ColorRowShiftRight", "HorizontalColorOffset", "Warp", "WarpDir", "WarpTopLeft", "WarpRandom","WarpStretch", "PreviousFrameXor", "BlackLines", "Zoom", "ZoomCorner","ZoomRandom", "OffTrackX", "OffTrackY", "FrameAlphaInsert", "DiagPixel", "DiagPixelY", "DiagPixelY2", "DiagPixelY3", "DiagPixelY4","ExpandLeftRight","DiagSquare", "DiagSquareLarge", "DiagonalSquareCollection", "DiagnoalSquareSize", "DiagonalSquareSizeOnOff", "DiagonalSquareSizeOnOffRandom","SlitScanGUI", "SlitScanRandom", "StretchLineRow", "StretchLineCol", "StretchLineRowInc", "StretchLineColInc", "StretchRowSplit", "StretchLineRowLeftRight", "PixelateRandom", "PixelateFillRandom", "JaggedLine","ScratchyTrails", "ExpandPixelate", "DiagSquare8","DiagSquareRandom", "SlitScanXGUI", "DiagSquareX", "SlitScanDir", "ScanlineCollection", "StretchLineRowIncRGB", "StretchLineColIncRGB", "StretchLineRowIncSource", "StretchLineColIncSource", "DiagSquareRGB", "ShiftPixelsRGB", "UseOldRowVertRGB", "ColorWaveTrailsRGB", "VariableLinesY_RGB","SlitScanXGUI_RGB", "SlitScanGUI_RGB", "SlitScanDir_RGB", "TwistedVision_RGB", "CollectionWave_RGB", "SlitScan_Colors", "ReverseRandom", "ReverseRandomCollection", "RevesreRandomChannelCollection","ReverseRandomCollectionResize", "SquareBlockGlitch", "SquareStretchRows","SquareStretchRowsDelay","SquareStretchEven", "SketchFilter", "SquareStretchEvenCollection", "SquareStretchEven32", "RGBLineFuzz", "RGBLineFuzzX", "LinesAcrossX", "XorLineX", "ExpandContract", "MoveInThenMoveOut","MoveInThenMoveOutFast", "DistortionFuzz", "DistortionByRow", "DistortionByRowRev", "DistortionByRowVar", "DistortionByRowRand", "DistortionByCol", "DistortionByColRand", "DistortionByColVar", "TearRight", "TearDown", "TearUp", "TearLeft", "DistortStretch", "ShiftLinesDown", "PictureStretch", "PictureStretchPieces", "VisualSnow", "VisualSnowX2", "LineGlitch", "SlitReverse64","SlitReverse64_Increase","SlitStretch", "LineLeftRight", "LineLeftRightResize", "RGBLineTrails", "RGBCollectionBlend", "RGBCollectionIncrease", "RGBCollectionEx", "RGBLongTrails","RGBStrobeTrails", "BoxGlitch", "VerticalPictureDistort","ShortTrail", "DiagInward", "DiagSquareInward", "DiagSquareInwardResize","DiagSquareInwardResizeXY", "ParticleSlide","DiagPixelated","DiagPixelatedResize", "DiagPixelRGB_Collection", "RGBShiftTrails","PictureShiftDown","PictureShiftRight", "PictureShiftDownRight", "FlipPictureShift", "FlipPictureRandomMirror","PictureShiftVariable", "RGBWideTrails", "StretchR_Right","StretchG_Right","StretchB_Right", "StretchR_Down", "StretchG_Down", "StretchB_Down", "Distorted_LinesY", "Distorted_LinesX","TripHSV","Diag_Line_InOut", "XorSumStrobe","LineInLineOut","LineInLineOut_Increase","LineInLineOut2_Increase", "LineInLineOut3_Increase","LineInLineOut4_Increase", "LineInLineOut_ReverseIncrease","LineInLineOut_InvertedY","LineInLineOut_ReverseInvertedY","LineInLineOut_Vertical","LineInLineOut_VerticalIncrease","SquareByRow","SquareByRowRev","SquareByRow2","DivideByValue", "FrameSep", "FrameSep2", "DefStutter","StutterFilter","FrameOffsetRSize","FrameOffsetRSize2","FrameOffsetRSize3","FrameOffsetRSize4", "SqOnOff", "SqOnOffAlpha", "SqOnOffAlphaClip", "SqOnOffAlphaClipFast", "SqOnOffAlphaPixel", "SqOnOffDiff", "SqOnOffSize","Placement", "FrameSep3", "FrameSep4","FrameSep5","FrameSepDiff", + "FrameSepResize","FrameSepResize2","FrameSepSquare","FrameSepH","FrameSkip","FrameSkipResize" + }; std::vector svPattern { "Blend Fractal","Blend Fractal Mood","Diamond Pattern", "PixelateSquares", "DiamondCollection" }; diff --git a/Acid.Cam.v2.OSX/ac.h b/Acid.Cam.v2.OSX/ac.h index 78c1a988..79156608 100644 --- a/Acid.Cam.v2.OSX/ac.h +++ b/Acid.Cam.v2.OSX/ac.h @@ -2481,6 +2481,17 @@ namespace ac { void SqOnOffDiff(cv::Mat &frame); void SqOnOffSize(cv::Mat &frame); void Placement(cv::Mat &frame); + void FrameSep3(cv::Mat &frame); + void FrameSep4(cv::Mat &frame); + void FrameSep5(cv::Mat &frame); + void FrameSepDiff(cv::Mat &frame); + void FrameSepResize(cv::Mat &frame); + void FrameSepResize2(cv::Mat &frame); + void FrameSepSquare(cv::Mat &frame); + void FrameSepH(cv::Mat &frame); + void FrameSkip(cv::Mat &frame); + void FrameSkipResize(cv::Mat &frame); + // #NoFilter void NoFilter(cv::Mat &frame); void Empty(cv::Mat &frame);