Skip to content

Releases: dreimer1986/PSPStreamer

1.8 - Monkey tunnels, eggs and speed

Choose a tag to compare

@dreimer1986 dreimer1986 released this 24 Sep 06:47
  • Artwork in Client App and server component. Both Plex and JellyFin can provide it. With included retry if things fail or are talking too long.
  • MilkDrop Optimizations speeding up:
    • Bypass extended VM dispatch for scalar MilkDrop arithmetic
    • Keep persistent MilkDrop mesh variables in place between vertices
  • Real transition support added together with hard cut already in place.
  • Port of Monkey Virtualization Plugin
    • 1:1 behavior taken out of the binary
    • Own settings menu for Monkey
    • Speed setting, hidden roughness setting
  • Easter Egg!
  • Optimize video playback by passing owned AVCC packets directly to Media Engine.

I had this one in mind for a long time now, even longer than MilkDrop... Only problem I saw was that Monkey never was open source. But little did I know that Codex does not really care if it's binary or C source code with documentation and comments ^^
I had to explain it why I was allowed to reverse the plugin under european law and had to send proof from local law, but then it happily started tearing apart the plugin. First it found quite well known algorightms and created me a test version from it. This one worked fine already, but the look and feel was quite different. Thus I told him step by step to get as much information as possible out of the binary. By now it looks almost identical to the PC version. We are at a state now where it even took the randomizer implementation off the original just to make it REALLY REALLY behave the very same!
We are that close to the real thing now that I started wondering the same thing I did when I still was a child... What is behind all the other tunnels? I'd like to go and check out, but the thing is auto controlled!! Well... We now have a disable auto pilot feature :D Just push L+R while in Monkey virtualization :D

Monkey

Still left todo:

  • More optimization!
  • External subs support in JellyFin support.
  • You name it!!

1.7 - Higher render resolution, fixes++, Home Assistant Addin, JellyFin, Text Subs Limit fix

Choose a tag to compare

@dreimer1986 dreimer1986 released this 22 Sep 09:10

MilkDrop:

  • Higher Render Resolution: 512x256 -> 512x512
  • fixes++: Now every Preset that does not fail on PC will load here, too. Some don't really run yet because of some final limits that need some more work, but nothing will error out on load anymore!
  • Home Assistant Addin: Creates a Media Player and allows by checking the sources to control the PSP with Home Assistant!
  • JellyFin support: Just like Plex you now can add your JellyFIn and use it as synced Media Source
  • Text Subs Limit fix: Before the limit was 1800 text blocks per file. Now it does load more data when this reaches the limit!

WARNING: A few MilkDrop Prresets cause a force shutdown right now becuase of... Still no clue ^^ But only few of these which failed to do anything before, so more than 95% of the Presets work super fine!

1.6.2 - MilkDrop fixes++, StreamerOC Plugin now is way more stable!

Choose a tag to compare

@dreimer1986 dreimer1986 released this 21 Sep 19:18
  • With the newest batch of MilkDrop fixes we are now at:

    • 1.715 Presets:
    • Loading successful: 1.688 (98,4%)
    • 120 Frame test successful: 1.624 (94,7%) or better... +206 fixed since last time!
  • StreamerOC updates:

    • New framebuffer following overlay mode (overlay=2 in INI) which should flicker way less and still should not impact the compatibility of any game, too.
    • New architecture finally allows to set ARK5 clock settings to "Auto" aka disabled and the Plugin will do all the work on it's own!
  • Test of a VFPU inclusion as optimization. The results were ... not worth the extra effort as they are almost the same than the normal way to calculate FFT etc.

1.6.1 - StreamerOC can UC, too ^^ / MilkDrop fixes++

Choose a tag to compare

@dreimer1986 dreimer1986 released this 20 Sep 04:27
  • Dynamic clock frequency support.
    • Music with or without MilkDrop? Idle? Video playback? You now can set all of them in 1 MHz steps!
    • Realized by StreamerOC/UC Plugin 1.2. If it's not active the app will behave like any other app out there and follow the ARK5 settings.
    • For this a new setting was introduced called "app_control" (active by default)
    • The StreamerOC/UC plugin now not just allows 333-471 MHz setting, but 66-471 MHz for underclocking, too. This range can be enforced on ANY app you start and is the very setting range you can choose from in PSPStreamer!
    • Introduced "enforce_unlimited" (Disabled by default!) which ignores the former conflict limit of 3 per minute. Now Plugin and App can fight way longer for the frequency to set in the end!
    • Even if you activated "enforce", apps which communicate with the Plugin are spared. Only "enforce_unlimited" breaks this rule.
  • If a command to the server was lost in WIFI the app will now retry after 15s.
  • Switch output while in app. TV -> LCD and vice versa.
  • MilkDrop Fixes:
    • Fixes for div/0 errors.
    • Fixes for negative sqrt()
    • Fixes for invalid integer conversions for bitwise operators.
      Before
      Total: 1,715 files
      Loaded: 1,651
      Passing 120-frame formula test: 1,217
      After
      Total: 1,715 files
      Loaded: 1,651
      Passing 120-frame formula test: 1,414

1.6 - Who said PSP does not work with Plex?!

Choose a tag to compare

@dreimer1986 dreimer1986 released this 19 Sep 23:24
  • As you already read above... Now you can simply choose your Plex Server (same network or not) as media source and it will even sync the current playback state and watch status and... EVERYTHING you expect it to!
  • The server does the connection and transcoding as Plex does not allow transcoding in a PSP compatible way. From Plex the server just takes the video and audio files untouched to not transcode everything twice making everything ineffective and looking worse than there is a need to.
  • While we were at it... The hangs inside the file selection are gone now, too. Now it waits for the requested data and you can always cancel the task to get back control.
  • There is a help section now. Cleaning up the messy GUI a bit and all the needed information in detailled pages are availbale everywhere and showing the correct page whereever you are right now when opening the help. (Of course you can always switch the topics and read the whole thing)
  • As test and with some interesting results... The app now is -O3 optimized!
  • Last, but not least: The server WebUI now looks way better and less cluttered, too!

Have fun!

P.S.

  • Yes, JellyFin support will be added, too!
  • And a way to switch between LCD and TVOut without restarting the app.
  • And the last few things needing a fix regarding MilkDrop will be done, either.
    • Maybe even some eye candy in form of higher resolution. (With a toggle inside the settings as this WILL NEED OC! First tests were fine on my PSP, but mine runs fine with 433 MHz here...)

1.5.1 - MilkDrop fixes+++

Choose a tag to compare

@dreimer1986 dreimer1986 released this 19 Sep 19:03

Well, this is a smaller update with MilkDrop fixes to the brim!
Optimizations, fixes and support for larger formulas. For now this is what you can get. There are ideas for more resolution on TVOut and maybe more RAM allocation for the last remants of broken Presets to run. But more... "run" as then OC might not even be enough to make them run nicely. But we will see when it comes to that. First I wanna add more Media Sources. My Plan is to add Plex and JellyFin integration to make the PSP update your Statistics. With that the current way is more of a Plan B solution. But this is for another release too :D

1.5 - MilkDrop fixes++, WebRadio Support, WIFI Fixes, OC Plugin flicker Fix

Choose a tag to compare

@dreimer1986 dreimer1986 released this 18 Sep 18:38

And more news:

  • MilkDrop:
    • Hard Limits were increased
    • Error reporting was optimized
    • Wrong function input limits fixed
    • Presets which try to burn rhe PSP are tamed down a bit to run inside the PSP specs
    • When we have power left we now allow more density in wave coordinates and overall calculation
    • Fomulas which are split over several lines are now concatenated
  • The "favorite_presets_2021_01_03" I use for testing has 1715 presets included. Before that we supported around 150 of them without errors, later we reached 1003 running and right now we are at 1604 running. Nice quota I would say?
  • WIFI connect retry implemented.
  • Internet Radio Support WITH ICY Metadata support included.
  • Audio Data now works with ID Tags if available.

Next: Download Audio, too.

1.4 - Local Files, Debugging OFF, OVERCLOCKING 4 the lulz

Choose a tag to compare

@dreimer1986 dreimer1986 released this 17 Sep 17:32

And another release:

But first some personal message: "I have the habit trying to make every console I own to be some Plex client. This was not that easy this time. But we have video playback hardware which was desparately waiting to be used... So I made my own "Plex" :P It transcodes the files correctly (Even with CABAC Main Profile!), allows Subtitles and gives the best resolution you can get depending on the output you use. I think this is close enough to Plex, huh? ^^"

News:

  • We now support converting video files from server to the correct format and upload them to PSP directly (SLOOOOW) or by loading the container and directly copying them by PC (FAST!). This finally makes the WIFI 802.11b (16 MBit/s max) speed a little less of a problem. Of course you still can stream as intended and with good WIFI you never have to do any conversion at all. With all the error compensation it even survives some WIFI breakdowns completely. But if you wanna take some episodes with you, you now have a nice solution for the next train ride!

  • Debugging features are disabled by default now. If you want them back, feel free to enable them in the settings submenu.

  • First version of the OC Plugin is now available, too. Put it to SEPLUGINS, create a INI file from the example and be happy with it ^^

P.S. MilkDrop is "done" now. Sadly we cannot realize Shader effects with PSP hardware at all. The language behind them is way too complex and it would be impossible to just support "a bit" of it. Either you support it completely or you have to ignore them completely. That was the only solution we had as option now. Still you can run all the presets and many will look great. I tested about 10 of them and all look nice the way they are now. But some might look different to the MilkDrop PC version would show them. MilkDrop still shows errors and unsupported parameters as warnings on preset load, EXCEPT Shaders. These errors are ignored.

BUT we are not really done yet... I realized that the AI misunderstands the meaning of DONE! We have all functions which the original has, too. But the values given to funktions are partially not allowed to have the values the original would allow. This still needs to be fixed...

1.3 - MilkDrop close to complete and way more

Choose a tag to compare

@dreimer1986 dreimer1986 released this 16 Sep 02:13

Here a short list of new stuff:

  • Milkdrop is complete except Shaders and external texture support. These will follow next. Well most likely not 100% compatible to all milk files out there, but I try to make as many as possible to run.
  • HTTPS support for server connection and login data support.
  • Options menu in the app to be able to setup anything in there without a PC
  • Better catch for short disconnects between PSP WIFI and the server.
  • Support for 23.976 fps video stream and to get back some of the extra bandwidth needed for that...VBR MP3 support with different profiles.

This should be most of the new stuff. Still missing for having my todo list empty:

  • Remove Debugging features by default.
  • Add the last two missing MilkDrop features.
  • Add a way to convert video and audio files on the server and directly move them to the PSP. This will help on weaker connections.
  • Maybe extend this to local media playback, but only for supported media aka in theory the files coming from the server. I dont plan to add billions of codecs to the app just to allow to run some other files with zero guarantee that they work fine. The default settings here would be, resolution (LCD or TVOut), fps (20 or 23.976) subtitles and the audio stream added in which quality.

In this case the biggest flaw of the PSP is not that much of a problem anymore, too. It's nice that the PSP allows WPA2 these days... But 802.11b is still the worst limit as it only allows 15 Mbps up and down in the best case.

1.2 - Test TV Mode GUI and MilkDrop

Pre-release

Choose a tag to compare

@dreimer1986 dreimer1986 released this 10 Sep 19:22

Hello again,
this time it's a "Pre-Release" I send to you, but as I reached my weekly limit on Codex and thus only can do more basic stuff on my own, I decided to pass to you what we already managed to create:

  • The TV-Mode now has a not upscaled version of the GUI. Proper Fonts for the new screen size, verified that all moving parts are working fine and thanks to the new GUI...
  • ... finally found the reason and a fix for the last remnants of crackling on audio playback. The GUI was redrawing the whole screen WAAAY TOO OFTEN and this caused massive slowdowns for the audio thread. This problem never showed up on video playback as the whole GUI is disabled on full screen on LCD and TV-Out. But audio is inside the GUI and thus was hit badly from that problem. Now only the moving parts get a refresh and both GUIs now are 100% crackling free audio!
  • The current audio playback is nice and looks nice, too with the VU meters on the left and the spectrum analyzer above, but ... I still needed something screen filling. Now you can fill the screen with Triangle and Cross button pushed together. Same key combo is interesting for the last new feature.
  • We implemented MilkDrop Virtualization engine. Not completely yet as some stuff is a problem for the PSP hardware or still was below the spot we already reached on the todo list, but everything except the following works fine already:
    -- Per-vertex (per_pixel_*) programs with coordinate inputs and a mesh-wide
    execution budget.
    -- Independent custom shape and waveform programs, including per-point code;
    more built-in waveform modes and the required stereo/spectrum inputs.
    -- External textures, preset browsing/transitions and blending.
    -- Shader-based warp/composite presets: a separate renderer/compatibility
    problem, not something the PSP fixed-function pipeline executes directly.

As already mentioed, Triangle and Cross works here, too to fill the screen.

So have fun with that pre-release. But be careful. This one is not that stable yet as I was not able to fix a hangup regression yet. I you wanna play video, stay on the release version for now. If you want audio and MilkDrop, try this one. Right now only the active.milk is used, but feel free to try a few of the presets out there in the wild.