GithubHelp home page GithubHelp logo

gaming32 / arrayv Goto Github PK

View Code? Open in Web Editor NEW
289.0 289.0 46.0 30.55 MB

New home of https://github.com/MusicTheorist/ArrayVisualizer

License: MIT License

Batchfile 0.02% Java 98.91% Python 0.47% Groovy 0.61%

arrayv's Introduction

Metrics

arrayv's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arrayv's Issues

Sort Writing API?

will there be an array writing api? like, you could write your own sorting algorithms or something, with some api and then it'll be sorted when you like compile and run it? idk but i think that is a really awesome idea

how to open

what does it mean to run ./run in shell or ./mvnw clean verify? the run.bet file says something about java-home

Stalin sort fails

steps to reproduce:
open ArrayV without tweaking any settings
select stalin sort

expected behaviour:
sort completes normally with no errors

actual behaviour:
sort fails with error:
The sort was unsuccessful;
array[0] != validateArray[0]

Attached image of the error and ArrayV settings:
Screenshot 2024-05-10 120950

how to move window

The main window appears at the corner of the screen. I can't move it and the "choose sort" window opens offscreen.

Groovy "Unsupported class file major version"

Exception in thread "main" BUG! exception in phase 'semantic analysis' in source unit 'jar:file:/C:/Users/anton/Downloads/ArrayV-5.1.jar!/scripts/categories/exchange.groovy' Unsupported class file major version 63
at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:861)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:653)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:368)
at groovy.lang.GroovyClassLoader.lambda$parseClass$2(GroovyClassLoader.java:311)
at org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
at org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:543)
at groovy.lang.GroovyShell.parse(GroovyShell.java:556)
at groovy.lang.GroovyShell.parse(GroovyShell.java:568)
at groovy.lang.GroovyShell.parse(GroovyShell.java:586)
at io.github.arrayv.groovyapi.ScriptManager.loadScript(ScriptManager.java:232)
at io.github.arrayv.groovyapi.ScriptManager.loadBuiltinScripts(ScriptManager.java:310)
at io.github.arrayv.groovyapi.ScriptManager.loadDefaultScripts(ScriptManager.java:274)
at io.github.arrayv.main.ArrayVisualizer.(ArrayVisualizer.java:556)
at io.github.arrayv.main.ArrayVisualizer.main(ArrayVisualizer.java:1526)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 63
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:199)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:180)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:287)
at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83)
at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:255)
at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:193)
at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:175)
at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:129)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:57)
at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:44)
at org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:113)
at groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
at groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:122)
at org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:104)
at org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:36)
at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:222)
at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getUnresolvedSuperClass(DecompiledClassNode.java:129)
at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1049)
at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:1043)
at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:944)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:790)
at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49)
at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805)
at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796)
at org.codehaus.groovy.ast.expr.BooleanExpression.transformExpression(BooleanExpression.java:46)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805)
at org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression(TernaryExpression.java:50)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805)
at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:913)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:790)
at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49)
at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805)
at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:108)
at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:168)
at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1413)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:70)
at org.codehaus.groovy.control.ResolveVisitor.transformClosureExpression(ResolveVisitor.java:1124)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:798)
at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49)
at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805)
at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:108)
at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:168)
at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1413)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:70)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:142)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:66)
at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:299)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:110)
at org.codehaus.groovy.control.ResolveVisitor.visitMethod(ResolveVisitor.java:269)
at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1135)
at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1128)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:52)
at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1357)
at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:259)
at org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperations$3(CompilationUnit.java:204)
at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:857)
... 16 more

Extra sort expired again.

This is going to continue to happen unless you actually just supply it like a normal person rather than rely on ancient github actions.

#97

Canceling sort with choose sort menu open crashes

Issue:
Clicking the "Cancel sort" button while in the select sort menu will crash the program

Screenshot:
Screen Shot 2022-04-05 at 1 14 48 PM

Steps to reproduce:
1: Select a sort.
2: Enter the selection menu while the sort is running.
3: Click the "Cancel sort" button.

Can't build anymore, says dependencies missing

The output of ./mvnw.cmd clean verify:

[ERROR] Failed to execute goal on project ArrayV: Could not resolve dependencies for project io.github.arrayv:ArrayV:jar:5.2-SNAPSHOT: Failed to collect dependencies at org.apache.groovy:groovy:jar:4.0.2: Failed to read artifact descriptor for org.apache.groovy:groovy:jar:4.0.2: Could not transfer artifact org.apache.groovy:groovy:pom:4.0.2 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/groovy/groovy/4.0.2/groovy-4.0.2.pom: Connect to repo.maven.apache.org:443 [repo.maven.apache.org/146.75.116.215] failed: connect: Address is invalid on local machine, or port is not valid on remote machine -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

More statistics customizability

More customizability for statistics. Examples include:

  • Customizing the font (family, size, etc.)
  • Adding a lot more statistics
  • Adding support for customizing the statistics

Windows Defender False Positve

If program is downloaded, windows defender detects a "virus" in the program and the download is blocked. no viruses are in arrayv

Incorrect Run All Configuration

The run all configuration for all exchange sorts is incorrect.
The text that I underlined in the attached picture is "LRQuickSortParaell", which it should be "ReverseBubbleSort".
Please fix it for me.
e

Suggestion: Add recursion tracking

The statistics HUD should also include stats like recursion depth and the number of recursions, like in PCBoy's videos. This is also to accurately measure the space complexity of recursive sorts.

ArrayV refuses to load custom soundbanks

Errors

ArrayV at the start it shows this:
image

After that, it works just fine (and even plays the sound), but trying to choose a soundbank shows me this:
image

What I did

  1. Open the program (error box 1)
  2. In the window with sound settings, press "Choose soundbank..."
  3. In the appeared window choose any *.sf2 file.
  4. Get an error (error box 2)

Computer specs that can save your time

OS: Microsoft Windows 11, 21H2
CPU: Intel Core i3-1005G1 @ 1.20 GHz
GPU: None (Intel UHD Graphics)
RAM: 4 GB (3,81 GB available, other dedicated to UHD Graphics I suppose)
Type: Laptop

Bug on startup

So I opened the .jar file and started using ArrayV. However I got this error:

java.io.IOException: mark/reset not supported
at java.util.zip.InflaterInputStream.reset(Unknown Source)
at java.io.FilterInputStream.reset(Unknown Source)
at com.sun.media.sound.AudioFileSoundbankReader.getSoundbank(Unknown Source)
at javax.sound.midi.MidiSystem.getSoundbank(Unknown Source)
at io.github.arrayv.utils.Sounds.loadInstruments(Sounds.java:346)
at io.github.arrayv.utils.Sounds.prepareDefaultSoundbank(Sounds.java:276)
at io.github.arrayv.utils.Sounds.(Sounds.java:156)
at io.github.arrayv.main.ArrayVisualizer.(ArrayVisualizer.java:475)
at io.github.arrayv.main.ArrayVisualizer.main(ArrayVisualizer.java:1526)

Address strobing/flashing due to showing aux arrays

Some sorts rapidly create and delete external arrays, creating extreme flashing when they are shown.

Possible solutions include:

  • Internally creating the arrays

  • Fixing the number of aux arrays shown, such as by reusing aux arrays or creating a new system to set the number of aux array slots shown

There is also a possible concern of strobing/flashing caused by problems other than showing aux arrays.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.