Coder Social home page Coder Social logo

team-thyme / soundboard Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 4.0 4.1 MB

Team Thyme's based soundboard

Home Page: https://viller.men/soundboard/

License: MIT License

CSS 0.98% JavaScript 52.47% PHP 13.72% Shell 0.97% SCSS 27.18% HTML 4.67%
rest-api single-page-application soundboard telegram-bot web-app

soundboard's People

Contributors

cascer1 avatar gibibit avatar locitao avatar mesoptier avatar villermen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

soundboard's Issues

New theme color specification

For applying colors in other places, I was thinking of making the color names more generic:

  • headers-background and text (headers and buttons)
  • input-background and text (search and modal body)
  • body-background, accent and text (for sample container and samples, where sample backgrounds would be accent)
  • footer-background and text (or maybe this could be just the header and input mixed)

Do sample sorting in JavaScript

Used to be done with PHP:

    usort($samples, function ($sample1, $sample2) {
      if ($sample1->mtime > $this->sortLimit || $sample2->mtime > $this->sortLimit) {
        return $sample2->mtime - $sample1->mtime;
      }

      return 2 * mt_rand(0, 1) - 1;
    });

Do titling in JavaScript

Used to be done in PHP:

    $this->boardNames = [
      'music',
      'spam',
      'crack',
      'shit',
      'originality',
    ];

    $this->postNames  = [
      'amirite',
      'correct',
      'no',
      'you see',
      'eh',
      'hmm',
    ];

public function getPageTitle() {
    return 'More like ' . $this->boardNames[array_rand($this->boardNames)] . 'board, '
      . $this->postNames[array_rand($this->postNames)] . '?';
  }

Streaming audio vs fully loading

Streaming is obviously faster, but has the downside that duration isn't accurate. Fully loading enabled modulation (do we need that?), but increases the loading time significantly.

Reliably determine id from url

Right now it throws an error because no sample was found with the id.

Best way to solve this, to my knowledge, is by ignoring the result when no sample was matched.

Show changelog when version is clicked

In a new modal. Obviously polled from GitHub, because then an older version will show newer versions too. A list like:

  • v13.37 - generic sample name
    • Change 1
    • Change 2
  • v13.37 - generic sample name
  • v13.37 - generic sample name
  • v13.37 - generic sample name

Versions are collapsible, and the current one (if available) is expanded by default.

Sometimes samples start playing but immediately stop

On both mobile and desktop, and happens arbitrarily. Once in every like 10 tries or so. Does not happen to samples that have already been played, even the once that had this bug occur to. So second click will always play, regardless of whether it errored before. Makes me think it is a howler bug (on 2.0.0-beta14), also happened on beta13.

Don't loop samples that aren't looped initially

When playing multiple samples of the same time with Shift, and after that you press one with Shift and Ctrl, all of the previous ones (that haven't yet ended) will be looped. This is because loop is set on the howl property instead of the group.

Theoretically this would be fixed by setting the loop property like this:

    const howlerId = sample.howl.play();
    sample.howl.loop(loop, howlerId);

This will not make the sample loop at all however. I wonder if it might be a bug in Howler.

Stop all

Because when I loop/spam a lot, I want to be able to stop everything at once.

Maybe with space?

Create separate install script/task

Instead of putting everything in postinstall, which is really just for NPM. Especially composer install in postinstall is nasty.

This could be an NPM script (not postinstall), a gulp task, or something else entirely.

Thyme theme needs at least 10% more lime

And then they say it wouldn't make it prettier. ๐Ÿ˜†

But in all seriousness. MORE LIME UGLIER?!??! SHAME (3x), BELL.

But actually in all seriousness, I want the sample text to be lime too.

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.