Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
post hole digger
Mar 21, 2011

has anyone here ever run a plex server on a public cloud before? or have a better way of sharing a plex library with 6-10 or so people? id like to share my library with some friends and family but a) want it to perform well and b) dont want it to negatively impact my home internet. i could pay for a seedbox but it seems more expensive than it needs to be. it seems possible this could run off of a t3.micro using rclone to mount the media from backblaze. im mostly concerned about cost and am wondering if anyone has ever tried something similar? might just give it a go and see if it causes me any pain in a month or two.

Adbot
ADBOT LOVES YOU

outhole surfer
Mar 18, 2003

cost is your biggest issue. pretty much any storage that's fast enough to stream a few hd streams from disk (even if they're being transcoded before going over the network) is going to be expensive as gently caress.

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
youre better off googling 'nas colocation' and mailing some dude in nova a loaded up synology. you can get a spot in a climate controlled rack with redundant power and a no-cap 100mbps symmetrical pipe for like 29 a month for a 2-bay or 39 for a 4-bay if you shop around a bit

post hole digger
Mar 21, 2011

that's something I hadnt considered (or knew existed) but I feel like if I'm in for 30-40 bucks a month I might as well just rent a seed box server. I was hoping there might be a diy way to do it for like half that. maybe not possible then.

outhole surfer
Mar 18, 2003

exactly how much data were you hoping to host and serve for 15-20 bucks a month?

horse_ebookmarklet
Oct 6, 2003

can I play too?
how the hell do MIDI relative encoder signed integers work?

I bought this cheap as possible midi controller DJ2GO2 and it appears to to represent the main encoders as 7 bit signed integers. The documentation goes to great lengths to confuse this.
Googling, I can see there are also some 14 bit encoders, but those are spread across 2 midi messages (lol).

Is there some standard way to deal with midi messages across devices? i am using portmidi which is working great for io but does nothing to interpret a midi payload.

I've never MIDId before and I am tone deaf. this is a ham radio project. 73

Corla Plankun
May 8, 2007

improve the lives of everyone
iirc midi signals are slow enough that i think you can just blit them out to a terminal and look at what is being sent if you want, i'd google for a python library to do it but probably every language has something to make it easy

Base Emitter
Apr 1, 2012

?

horse_ebookmarklet posted:

how the hell do MIDI relative encoder signed integers work?

I bought this cheap as possible midi controller DJ2GO2 and it appears to to represent the main encoders as 7 bit signed integers. The documentation goes to great lengths to confuse this.
Googling, I can see there are also some 14 bit encoders, but those are spread across 2 midi messages (lol).

Is there some standard way to deal with midi messages across devices? i am using portmidi which is working great for io but does nothing to interpret a midi payload.

I've never MIDId before and I am tone deaf. this is a ham radio project. 73

14 bit cc values are essentially sent as two separate 7 bit controller values. the high order 7 bits are always sent first, and if the receiver supports 14 bit controller values it sets the lower 7 bits to zero. if/when the controller sends the other 7 low order bits, then the receiver sets only the lower order bits leaving the high order bits alone. That way, a 14-bit receiver works with a 7 bit controller because it sets the cc value immediately. if the sender supports 14 bits, it sets the cc value approximately on the first message and precisely on the 2nd (with running status this only takes 2 more bytes). if the receiver is a 7 bit receiver, then it just ignores the second low-order 7 bits because it doesn't recognize the cc index for the low-order bits, but it still got the right high order bits.

this is actually kind of a hack on the basic midi protocol which depends on treating two separate cc indexes as halves of a single parameter.

what the numbers actually do (signed vs unsigned, switch vs continuous parameter) depends on the specific cc index

(its been a while so i probably have forgotten some things)

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
Yeah it's just 31200 bps (?) ttl serial. you can snoop it all day long with just about any dongle

horse_ebookmarklet
Oct 6, 2003

can I play too?
oh yea thats exactly what I am doing for my lil proof of concept, very reasonable to reverse engineer the payloads. Twiddle a knob or button and I can easily hardcoded some C++ to do what I want.

What I want to is be able to handle a bunch of different DJ controllers in a common way. If someone slaps their controller in, I want a "user customizeable" script/mapping that makes their buttons and knobs do stuff in my application.
If signed integers can be any bitwidth spread across any number of messages a common approach is going to be hard.

In the 80s when grandpas were defining MIDI, what sensible system had a 24 bit word with 7 bit signed integers??? What weird corner cases are lurking?

horse_ebookmarklet
Oct 6, 2003

can I play too?

Base Emitter posted:

14 bit cc values are essentially sent as two separate 7 bit controller values. the high order 7 bits are always sent first, and if the receiver supports 14 bit controller values it sets the lower 7 bits to zero. if/when the controller sends the other 7 low order bits, then the receiver sets only the lower order bits leaving the high order bits alone. That way, a 14-bit receiver works with a 7 bit controller because it sets the cc value immediately. if the sender supports 14 bits, it sets the cc value approximately on the first message and precisely on the 2nd (with running status this only takes 2 more bytes). if the receiver is a 7 bit receiver, then it just ignores the second low-order 7 bits because it doesn't recognize the cc index for the low-order bits, but it still got the right high order bits.

this is actually kind of a hack on the basic midi protocol which depends on treating two separate cc indexes as halves of a single parameter.

what the numbers actually do (signed vs unsigned, switch vs continuous parameter) depends on the specific cc index

(its been a while so i probably have forgotten some things)

Ok so 7 bit signed integers are the common, and 14 are the extension? its not an arbitrary set of integers that can be any crazy case?

Is the MSP bit reserved for something? whats that lil 8th guy hanging on for.

Jonny 290 posted:

Yeah it's just 31200 bps (?) ttl serial. you can snoop it all day long with just about any dongle

I was hoping a MIDI device just showed up as a serial port, but Mac OS seems to have an OK MIDI implementation that works with PortMidi.
Windows is next... Hopefully I don't have to break out a logic analyzer or serial dongle!!!

Base Emitter
Apr 1, 2012

?

horse_ebookmarklet posted:

Ok so 7 bit signed integers are the common, and 14 are the extension? its not an arbitrary set of integers that can be any crazy case?

Is the MSP bit reserved for something? whats that lil 8th guy hanging on for.

I was hoping a MIDI device just showed up as a serial port, but Mac OS seems to have an OK MIDI implementation that works with PortMidi.
Windows is next... Hopefully I don't have to break out a logic analyzer or serial dongle!!!

The most significant bit of any MIDI byte distinguishes between commands and data; if its set, it's a command. There's some funny business with keeping the most recently used command byte if you get more data byes, except when its a "real time message" (which is usually MIDI clock related). So, all MIDI data is 7 bits because the MSB is always 0 for data.

eta - controller values in MIDI will be 7 or 14 bits, though the actual use of the data may be restricted, e.g. a switch may only use one bit, but it'll always be sent as 7.

Base Emitter fucked around with this message at 04:47 on Nov 22, 2022

Base Emitter
Apr 1, 2012

?
gonna take a break to look at my long list of unfinished synth diy projects in evernote and be deprssed about my adhd

horse_ebookmarklet
Oct 6, 2003

can I play too?
The 8th bit makes sense now, thank you.
If I seriously intend to make some MIDI dj pad api to Ham Radio GUI it is clear I gotta read more docs!!

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

horse_ebookmarklet posted:

Windows is next... Hopefully I don't have to break out a logic analyzer or serial dongle!!!
On windows I used to use something called MIDI-OX to dump all incoming data, it worked pretty well.

echinopsis
Apr 13, 2004

by Fluffdaddy
gently caress it
https://mega.nz/file/3NRg3RIC#KkgpXKyuoNZmkJczpuqUwER0xiTTPdlekl2OrtFet6c
this may be about as far as I get. it's fun to play around it. do so or not

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
slow burn istp

remember those aventage a820 receivers i was pissing and moaning about?

cracked one open yesterday



the big chip in the middle is the DSP chip. it has a known fab flaw where over the years it goes flaky.

One sometimes fix is a solder reflow. I tried that (with my new hot air gun), successful reflow but the chip didn't work...consistently.

did a bit of research and the flaw is such that the chip starts working while _warm_, the opposite of what we're used to.

Sure enough, i validated this by hitting it with warm air from the gun, and the speakers clicked on. Pull the heat gun off, ten seconds later it went silent.

So, there are two solutions to this:

1: get a little board meant for keeping crystal oscillators at a certain temp, and glue it to the chip and park it at 130f
2: replace the chip.

Fortunately TI revised the chip and the replacement does not have the original's heat issues, so if I can successfully replace it, we should be in good shape.



in 15-45 days we will know. Thanks, China!

Corla Plankun
May 8, 2007

improve the lives of everyone
for 20 dollars! When the ic market works it really is incredible.

Kazinsal
Dec 13, 2011



Corla Plankun posted:

for 20 dollars! When the ic market works it really is incredible.

and when it doesn't, you get a malfunctioning 6502 in a package claiming to be a Z80

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

horse_ebookmarklet posted:

In the 80s when grandpas were defining MIDI, what sensible system had a 24 bit word with 7 bit signed integers??? What weird corner cases are lurking?

Motorola 68000 was 32-bit architecture and included byte, word, and longword instructions

And 1985’s Atari ST had both a 68000 CPU and MIDI.

lord funk
Feb 16, 2004

midi is glorious and eternal and bless those 80s neckbeards for it

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
beep boop, the protocol

my buddy who made MegaWord TV did the music on modern gear connected to an Atari STE

he should make a video about making music with that

(he did swap the STE for a vintage Mac because the low refresh rate on the Atari was hurting his eyes)

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull

eschaton posted:

beep boop, the protocol

my buddy who made MegaWord TV did the music on modern gear connected to an Atari STE

he should make a video about making music with that

(he did swap the STE for a vintage Mac because the low refresh rate on the Atari was hurting his eyes)

did he not have a mono monitor? the basic choices available were a monochrome 640x400 @ 72Hz monitor and a color 640x200/320x200 @ 50Hz or 60Hz. most people doing midi work on the ST used the mono monitors for the higher res and refresh rate (and they were also cheaper iirc)

Luigi Thirty
Apr 30, 2006

Emergency confection port.

I can control VSTs on my desktop PC with Cubase on my TT030 and it owns

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp

Luigi Thirty posted:

I can control VSTs on my desktop PC with Cubase on my TT030 and it owns

ive got a (now unobtainium) midi board with 40 switch inputs and have this big old pedalboard i can use to control ableton loopers. one man band poo poo

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

BobHoward posted:

did he not have a mono monitor? the basic choices available were a monochrome 640x400 @ 72Hz monitor and a color 640x200/320x200 @ 50Hz or 60Hz. most people doing midi work on the ST used the mono monitors for the higher res and refresh rate (and they were also cheaper iirc)

he did and said it hurt too

Captain Cool
Oct 23, 2004

This is a song about messin' with people who've been messin' with you
I'm in the middle of a years long process of simplifying the things i want to make until there is something i can stick with. not really there yet but i decided i will need a low-current dual-voltage bench supply to test out the circuits

echinopsis
Apr 13, 2004

by Fluffdaddy
cool

Pile Of Garbage
May 28, 2007



i wanna twiddle those pots

toiletbrush
May 17, 2010
decided to write a 2d path tracer so I can simulate lenses and diffraction and stuff


doesn't look like much but took hours because I had a dumb mostly invisible typo in my dot-product :argh:

only simulates perfect mirror reflections right now but does area lights. ill work on diffuse materials next.

echinopsis
Apr 13, 2004

by Fluffdaddy
gently caress mate tell me more that interests me greatly

what’d you write it in

echinopsis
Apr 13, 2004

by Fluffdaddy
going back, some of the first stuff I ever did with blender (and luxrender) was trying to do light thru a prism stuff, and it was effectively 2d

in order to visualise the light, I had to have a scattering volume everywhere so basically each light ray bounced a small amount of light to the camera (well, everywhere) on each pixel, but this is quite inefficient overall

I bet you could do this far more efficiently


going back to like 2005 or maybe later I read reading cg forums and people were visualising caustics with 3ds max and mental ray and I was so desperate to do it myself. it wasn’t until I used a path tracer however that it wasn’t just a bunch of tricks.

echinopsis
Apr 13, 2004

by Fluffdaddy


no reason to think you won’t be replicating something like this only better soon.

the 2d aspect intrigues me

Corla Plankun
May 8, 2007

improve the lives of everyone

toiletbrush posted:

decided to write a 2d path tracer so I can simulate lenses and diffraction and stuff


doesn't look like much but took hours because I had a dumb mostly invisible typo in my dot-product :argh:

only simulates perfect mirror reflections right now but does area lights. ill work on diffuse materials next.

i don't have anything to add except to also chime in that this seems cool and i want to know more too

toiletbrush
May 17, 2010

echinopsis posted:



no reason to think you won’t be replicating something like this only better soon.

the 2d aspect intrigues me
hell yes, this is exactly the sort of thing I'm aiming for

it's 2d in the sense that nothing has a z component, its all just triangles and rectangles (and curves eventually) on the 2d plane. given everything that isn't a boundary of a shape is empty space, everything should be black except those boundaries, but obvs that would be really boring, so instead each light ray traces out it's path in the space in-between the volumes. It's not technically accurate but it means you can visualise the light paths, and hopefully make pretty pictures, which is the main point!

The good thing is I can 100% rely on forward ray-tracing, it's dead easy to multithread, and also having limits on the number of bounces won't affect the image so much. the downside is I have to render every ray path, so if anyone knows any super fast anti-aliased/subpixel line drawing routines pls let me know.

toiletbrush fucked around with this message at 21:00 on Dec 14, 2022

namlosh
Feb 11, 2014

I name this haircut "The Sad Rhino".

Captain Cool posted:

I'm in the middle of a years long process of simplifying the things i want to make until there is something i can stick with. not really there yet but i decided i will need a low-current dual-voltage bench supply to test out the circuits



owns… you going to make it switching or linear?

echinopsis
Apr 13, 2004

by Fluffdaddy

toiletbrush posted:

the downside is I have to render every ray path, so if anyone knows any super fast anti-aliased/subpixel line drawing routines pls let me know.

isn’t this fundamental to how path tracing works though? I usually use at least 1000 samples per pixel in my images.

does your engine work out a single ray (between bounces for example) and then draw that ray as a line to the image bigger?


i’m just thinking about loud sorry. no ide how it’s really working internally

toiletbrush
May 17, 2010

echinopsis posted:

isn’t this fundamental to how path tracing works though? I usually use at least 1000 samples per pixel in my images.

does your engine work out a single ray (between bounces for example) and then draw that ray as a line to the image bigger?


i’m just thinking about loud sorry. no ide how it’s really working internally
in 3d you're doing a bunch of samples for each pixel, and for each sample you send out a ray and follow x number of bounces, possibly recursively, but after all that you're just updating 1 pixel in the accumulation buffer.

my 2d one is forward, so I send out a light ray from a randomly chosen light and then track it for x bounces (or until there's no light left to bounce), but for each bounce I have to update every pixel in the accumulation buffer that the light travels through.

3d path tracing spends 99.999% of cpu time tracing light and 0.00001% updating buffers. mine's more like 1% tracing light and 99% updating the accumulation buffer, which is why I need a fast as heck line drawing algorithm.

Here's a render with 100 rays (vs 1,000,000 in the pic above) which makes how it works more obvious...

(both lights are area lights so the rays start in random places inside a circle)

toiletbrush fucked around with this message at 22:21 on Dec 14, 2022

Captain Cool
Oct 23, 2004

This is a song about messin' with people who've been messin' with you

namlosh posted:

owns… you going to make it switching or linear?
dead simple to start with, 20v wall wart feeding two LM317s. but keeping the innards modular so i could upgrade it to switching later

might be my last protoboard project. i had no idea custom pcbs were so cheap now. i saw $5 for 10 pieces and thought that has to be the price per piece

Adbot
ADBOT LOVES YOU

toiletbrush
May 17, 2010
spent a couple of hours getting refraction and basic diffuse transmission/reflection working, refraction isn't based on wavelength though.


toiletbrush fucked around with this message at 17:32 on Dec 16, 2022

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply