1 / 140

SimPhonics Audio Short Course: V+ Visual Programming Language and SMx Audio System

This short course provides an introduction to V+ visual programming language and covers various topics such as V+ drivers, SMx audio system, VComm networked audio, VComm terrain server, and more. Learn how to maximize software reuse and create self-documenting generations of programming methods.

stem
Download Presentation

SimPhonics Audio Short Course: V+ Visual Programming Language and SMx Audio System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SimPhonics Audio Short Course December 19, 2019

  2. Agenda • V+ Visual Programming Language (Section 1) • Miscellaneous V+ Drivers • SMx Audio System (Section 2) • Various I/O Drivers • VComm Networked Audio (DIS/HLA) (Section 3) • VComm Terrain Server (Section 4) • V+ APU Sound Model Overview (Section 5) • Questions and Answers

  3. V+ Visual Programming Language Introduction to V+ (Section 1)

  4. Introduction to V+ • Form Basic Understanding of V+ • Intermediate V+ • Advanced V+

  5. Why V+ Was Developed? • Ease of Concept Design • High Cost of Application Development • Maximize Software Reuse • Self Documenting

  6. Generations of Programming Methods • 1st Machine Code • 01000101 • 2nd Assembly Language • MOV al,bx • 3rd High Level Language • a=a+b+s;

  7. Generations of Programming Methods • 4th OOP Programming • Class furniture; • Derived class chair; • Visual C++ • C++ is NOT a visual language 7

  8. Generations of Programming Methods • 5th Visual Language

  9. Various Types of Visual Languages • Data Flow • State Transition • Object Oriented Nyquist • V+ is a data flow visual language

  10. Traditional Software Lifecycle Requirement Analysis Not Necessary with V+ Design Implementation (Code) Final Product Test

  11. V+ is Similar to Schematic Diagrams • In fact, V+ is a schematic of the software architecture, execution order, etc. • V+ is self documenting since the worksheet is the source.

  12. V+ is Not a Code Generator • V+ objects are pre-compiled software modules that can be authored in any language supporting COM. • Currently, objects are authored by VPLus Corporation only.

  13. Introduction to V+ • Windows XP (Service Pack 3), Windows 7 (SP 1) • Windows firewall turned off • 32 Bit Code • COM, COM+, and .NET Based

  14. Introduction to V+ A visual program, called a design, is constructed of objects and ports connected via nets and placed on one or more worksheets.

  15. V+ is a Data Flow Visual Language Data travels via nets from object outputs pins to object input pins.

  16. Object Data Flow Inside objects, data flows from object input pins to object output pins.

  17. Object Execution Order Execution order is defined by the user and defaults to an order of placement on the worksheet.

  18. Objects • Objects Are Execution Units • Constructor • Pre execute • Execute • Post execute • Destructor • Design Must Have at Least Two Objects • Simple to Complex

  19. Examples of V+ Objects

  20. Object Anatomy

  21. Objects – Static Data • User Editable Initialized Constants • Any Object May Contain Static Data • Standard Static Data Types • Float, string, table • Activated by Double-Click

  22. PORT 1 PORT 0 PORT n Ports I/O Driver I/O Devices Ports

  23. V+ I/O Driver Example • I/O Driver – UDP/ IP Ethernet • Contains the Following Devices: • I/O Device – Input • Ports • Ports 1,2,3,4, etc.

  24. Ports Anatomy

  25. V+ I/O Drivers • V+ Shipped with Basic Drivers • Configurable network socket • Ethernet UPD/IP • File mapping I/O device • Joystick input device • Windows Audio Mix

  26. Nets • Connects Object Pins • Contains 32-Bit Float Data • Output to Input • Cannot “Short” Inputs

  27. Nets Single Output to Multiple Inputs

  28. Nets

  29. Nets

  30. Nets

  31. Worksheets

  32. Worksheets Sharing data among worksheets is accomplished via worksheet connectors.

  33. A Simple Math Design

  34. Pythagorean Theorem(Distance Calculation) c = √a2 + b2

  35. Development and Run-time Systems Development System Run-time System

  36. Design Process

  37. File Types • DES • Design file (worksheet) • VPJ • Contains multiple worksheets • VPE • Run-time configuration and executable

  38. V+ Execution • Real-time, Frame Based • Input • Objects • Output

  39. V+ Execution Frame Time Execution Time Spare Time Timeline

  40. V+ Execution Order Within a Frame Input Ports Output Ports n 1 2 3 Objects 1 Through n

  41. Spare Time • Run-time Calculates Spare Time Per Frame • Measured with Special High-Resolution Timer Accurate to System Clock Resolution

  42. Spare Time

  43. V+ Execution Rate

  44. V+ Execution Rate • Default of 25ms (40Hz) • From .01 Hz • Up to 1,000 Hz • Future systems… even faster

  45. Development and Run-time Systems • Development System • Used to edit design • Not needed for final system • Costs more • Run-time System • Always required • Provides object inventory • I/O device configuration • System configuration • Execution

  46. Application Process Flow 1. Analyze Requirements 2. Define Interfaces 3. Configure Platform (.vne file) 4. Create Worksheets (.des files) 5. Organize into Project (.vpj file) 6. Run and Debug System 7. Save in Platform (.vne file)

  47. Why Separate Development and Run-time Systems? • Editor is a Much Larger Application • Not Needed for Execution Environment • Editor Costs More • Quantity Systems Can use Run-time System

  48. Run-time System Configuration

  49. Run-time System Configuration • I/O Driver Configuration • Execution Rate • Audio Device Order • Networked Audio Configuration (DIS and HLA)

  50. I/O Driver Configuration

More Related