South8028 Posted May 23, 2024 Author Share Posted May 23, 2024 24 minutes ago, niston said: A task for me: Get clarity about sound system architecture and identify requirements for components. Requirements for "source" device (Tuner, Holotape Deck, Reel-2-Reel, etc): * Offer Listening Source provisioning capability (Source Types: Radio Station, Sound File) * Control playback instances of sources (placed on speakers): Play, Pause, Stop, Sync * Replace/update playback instances of the source (Track Skip, Station Change) * Ability to supply playback options, like "BOOST" option for weak sources (radio) Requirements for "control" device (Preamp): * Listening source selection * Playback volume/mute and balance control * Speaker group control * Distribution of selected listening source to active speaker groups * Update sinks for volume and listening source selection changes * Update sources for listening source selection changes Requirements for "sink" device (Speakers): * Selection "L" Speaker, "R" Speaker, "Mono" Speaker * Actual placement (in 3d game world) and playback of preamp supplied source at preamp selected volume * Apply sound effects Requirements for "remote" device: * Control playback on preamp selected listening source (for radio: select radio station or station memory; for file source: prev/next track, play, pause, stop) * Control volume and mute on preamp Cross Cutting Concerns: * Component connection management * Component configuration * Network support * "Power" ON/OFF functionality * Bespoke snapping support MISSION: Design SAUL protocol (NetLink Framtype 8028) to support all of the above. Will likely add more to this. suggestion... Maybe we can make a power button together with the case, respectively, with an indicator and addOnNode? Does it make sense to do these things separately? Separately, there will be 3 handles; Selector - select the channel (from which device the signal is received), Volume, Balance... 1 Link to comment Share on other sites More sharing options...
niston Posted May 23, 2024 Share Posted May 23, 2024 I think so, yes. Power control can be in the case/main nif and animation can use Addon Node to place LIGH object. Link to comment Share on other sites More sharing options...
South8028 Posted May 23, 2024 Author Share Posted May 23, 2024 1 minute ago, niston said: I think so, yes. Power control can be in the case/main nif and animation can use Addon Node to place LIGH object. What is a LIGH object? If you mean the light and its addOnNode, then they will be immediately animated along with the body. The button turns on>glowMap turns on>AddOnNode turns on. Well, if that's what you meant. I just don't know what LIGH is. Link to comment Share on other sites More sharing options...
niston Posted May 23, 2024 Share Posted May 23, 2024 Yes, a light object. The record type for those is called LIGH. Now that I think about it, I seem to remember that addon nodes wouldn't work with objects that dont use a behavior graph for anims. Not using a behavior graph is prerequisite for interacting cleanly via PlayGamebryoAnimation(). Well, if it becomes an issue, we can always use regular NiNode and just place LIGH via script. But Add-On route is preferrable because its much faster and because scripter needs not deal with additional object spawning/placement/destruction. Link to comment Share on other sites More sharing options...
South8028 Posted May 23, 2024 Author Share Posted May 23, 2024 (edited) 2 hours ago, niston said: Yes, a light object. The record type for those is called LIGH. Yeah, I see. Thank you. Why can't we hang the case on workshop.hkx? Does it do anything other than turn on the power? https://disk.yandex.ru/d/-DDo2Y5j_j5qGQ Ready. All parts of the amplifier. 3 adjustments: selection (5 sequences), volume (20), balance (11). And the amplifier base. About the speakers. If you need passive ones... Is it possible to use it without radiators? Remove radiators - 5 minutes. I don't care. It’s just that the original from which I drew had radiators, but I can just copy the side wall on the other side and there will be no radiators. If you need any specific speakers, send me a photo, I will make speakers based on your photo. Edited May 23, 2024 by South8028 1 Link to comment Share on other sites More sharing options...
niston Posted May 23, 2024 Share Posted May 23, 2024 Feedback: - Volume and balance knobs for amp look very cool. - Animation of Volume knob has discontinuity between Pos14 and Pos15, making a large jump there - Balance Knob "Right1" and "Left1" positions are both the same as "Normal" position - In base NIF, neither ON nor OFF animation changes state of the button Re speakers, I think it's cool if they have radiators. The notion of them having built-in power amplifiers fits well with the concept of the mod. Link to comment Share on other sites More sharing options...
niston Posted May 23, 2024 Share Posted May 23, 2024 Didn't think of this earlier, but one downside of having ON/OFF in base nif is the fact that user will activate ON/OFF whenever they try to adjust a dial or press a button, but slightly miss the control and point at the case instead. About using workshop.hkx behavior graph for power button: Device script needs to be able to tell if a) device has power from generator and b) device power button is engaged or disengaged. Perhaps it could achieve b) via GetOpenState() - It may be possible, will need to test. One more thing to be considered will be power light: Animation based placement of light cannot be controlled by script. Therefore, power button will need additional behavior graph states to prevent it from illuminating when power button is engaged while device does not receive power from any power source. I think vanilla blue switchbox has suitable graph. Also noteworthy: When powered in-game reference has GetOpenState() == OPEN (power switch in OFF position), it will not conduct power to anything that's snapped to it (such as cable objects connecting to other devices). This functionality is baked-in when using behavior graph, but optional when controlling anims by script. Link to comment Share on other sites More sharing options...
South8028 Posted May 23, 2024 Author Share Posted May 23, 2024 (edited) 1 hour ago, niston said: Feedback: - Volume and balance knobs for amp look very cool. - Animation of Volume knob has discontinuity between Pos14 and Pos15, making a large jump there - Balance Knob "Right1" and "Left1" positions are both the same as "Normal" position - In base NIF, neither ON nor OFF animation changes state of the button Re speakers, I think it's cool if they have radiators. The notion of them having built-in power amplifiers fits well with the concept of the mod. Hmmm... I checked. Yes, I made a mistake with the volume. I'll redo it. Balance I don't see what the problem is. Normal - inactive position. left and right rotate in one position. Explain what exactly the problem is. I checked the case and everything works too. The button is pressed, the indicator works. Have you added the isOn and TransitionComplete tags to TurningOn and TurningOff? https://disk.yandex.ru/d/sbRitNpfT3TLlQ If it's a problem to script this, I'll convert the body into a static one and make the button a separate one and convert the indicator into a separate nif. Edited May 23, 2024 by South8028 1 Link to comment Share on other sites More sharing options...
niston Posted May 23, 2024 Share Posted May 23, 2024 Power function looks very nice, I like it. Problem I'm seeing with balance: There is no visible difference between Left1, Normal and Right1. In other words, the knob doesn't rotate between those 3 states and it always points straight up. States other than Left1 and Right1 appear to animate properly. Now I understand why: Rotation is not done in 1st animation frame for Left1 and Right1. It is for the other states. But now that I understand, I'm confident it should not present an issue in game. Link to comment Share on other sites More sharing options...
South8028 Posted May 23, 2024 Author Share Posted May 23, 2024 11 minutes ago, niston said: Power function looks very nice, I like it. Problem I'm seeing with balance: There is no visible difference between Left1, Normal and Right1. In other words, the knob doesn't rotate between those 3 states and it always points straight up. States other than Left1 and Right1 appear to animate properly. Now I understand why: Rotation is not done in 1st animation frame for Left1 and Right1. It is for the other states. But now that I understand, I'm confident it should not present an issue in game. Keep... static case, separate power button, separate indicator with addonnode, redesigned volume. https://disk.yandex.ru/d/MSEg5F4lBvKR2w Link to comment Share on other sites More sharing options...
Recommended Posts