Client side chart export library - charts

I'm looking for a client side (that is: HTML5, Javascript, Flash or Silvelight) library, which is
capable of creating interactive charts
capable of exporting these charts into jpg/png
is free (LGPL, or similar)
I have looked into Highcharts, and FusionCharts; both are very good choices - except that these can not be used in commercial software.
Are there any charting libraries with the above mentioned conditions?
Thanks,
krisy

FusionCharts provides a product named FusionCharts Free.
FusionCharts Free is dual licensed under the MIT (X11) and GNU GPL licenses.
In a nutshell, the above licenses allow you to:
Use the software for any purpose, commercial or personal
Modify the software's source code to suit your needs
Share the software with your friends and neighbors
Re-distribute the software as part of your software or hardware
applications
Read more about the licensing part here - http://www.fusioncharts.com/goodies/fusioncharts-free/product-licensing/

Related

Create VST plug-ins [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I want to create a third-party plug-in for Serato (a software for DJs).
I searched in their site and I saw that Serato supports VST (VST2) plug-ins. So my question now is what should I read in order to create a VST plug-in?
Thank you in advance.
A good starting point would be the wikipedia site for VSTs, just to get the basics if you are not familiar with this technology, first you need to know the creators of the VSTs: Steinberg.
VST SDK is a set of C++ classes based around an underlying C API. The
SDK can be downloaded from their website.
Therefore I would recommend starting with something simple. Let’s review a few options:
JUCE
This technology is trending for a few reasons, like their homepage says:
With support for PC, Mac and Linux, JUCE is the perfect tool for
building powerful and complex applications. JUCE also supports the
development of plug-ins: VST, AU and AAX. Run your desktop
applications on mobile! One-click deployment to Android and iOS
(requires Android Studio and XCode) Adjust the user interface of your
application with the Projucer live coding engine Use the best audio
performance available on iOS and Android.
So the pros of this technology are the big community, multi-platform and that is free, at least for non-commercial developments (then if you want to sell it you have to pay). The cons would be that you need to have a little more than the basics of C++ to get started, fortunately there are a lot of tutorials on their page, youtube and the internet, the community is growing so if you have issues you can always ask.
SynthEdit and FL SynthMaker
If you don’t want to get into the code that fast you can start practicing with these, as they don’t require programming expertise, or only a few basics.
SynthEdit is a framework and a visual circuit design that allows you
to create your own synths with only drag & drop without programming.
Therefore giving you the flexibility of using your DSP algorithms
inside the modules.
This is cool if you want to start going quickly, this currently has a cost you can check on their official website.
FL SynthMaker, aka Flowstone, comes free with FL studio. It has a straightforward drag-and-drop graphical interface and a wide range of components. You can use it to code modules and DSP in Ruby and comes with loads of examples to get started quickly and its capacity to assist you in creating a prototype within a short time is a plus.
FLowstone is a programming application that is used to create virtual
instruments effects and computer control of external hardware without
the need to write basic code. The instruments and effects you create
in SynthMaker can be used in FL Studio as 'native' plugins and shared
with other FLowstone users.
MAX MSP
Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, composers, performers, software designers, researchers, and artists have used it to create recordings, performances, and installations.
The Max program is modular, with most routines existing as shared
libraries. An application programming interface (API) allows
third-party development of new routines (named external objects).
Thus, Max has a large user base of programmers unaffiliated with
Cycling '74 who enhance the software with commercial and
non-commercial extensions to the program. Because of this extensible
design, which simultaneously represents both the program's structure
and its graphical user interface (GUI), Max has been described as the
lingua franca for developing interactive music performance software.
SOUL
The SOUL project is creating a new language and infrastructure for
writing and deploying audio code. It aims to unlock improvements in
latency, performance, portability and ease-of-development that aren't
possible with the current mainstream techniques that are being used.
SOUL unlocks native-level speed, even when hosted from slower, safer
languages. The SOUL language makes audio coding more accessible and
less error-prone, enhancing productivity for both beginners and expert
professionals.
Maximilian
Is a cross-platform and multi-target audio synthesis and signal processing library. It was written in C++ and provides bindings to Javascript. It's compatible with native implementations for MacOS, Windows, Linux and iOS systems, and client-side browser-based applications. The main features are:
sample playback, recording and looping
support for WAV and OGG files.
a selection of oscillators and filters enveloping
multichannel mixing for 1, 2, 4 and 8 channel setups controller
mapping functions
effects including delay, distortion, chorus, flanging granular
synthesis, including time and pitch stretching atom synthesis
real-time music information retrieval functions: spectrum analysis,
spectral features, octave analysis, Bark scale analysis, and MFCCs
example projects for Windows and MacOS, using command line and
OpenFrameworks environments
example projects for Firefox and Chromium-based browsers using the
Web Audio API ScriptProcessorNode (deprecated!)
example projects for Chromium-based browsers using the Web Audio API
AudioWorklet (e.g. Chrome, Brave, Edge, Opera, Vivaldi)
Extras
A few months ago I found this community that is focused on audio programming. They also have a Youtube channel with hundreds of tutorials and a discord server where you can ask questions, and even show your projects or even get a job. If you are interested. It’s called the “The audio Programmer”
Hope this helps you get started. I know there are a lot of option out there and this might confuse you at the beginning but I hope this little guide helps you choose a good starting point depending on your needs and goals since every technology offers different things.

How can you use ArchiMate together with TOGAF ADM?

Can TOGAF Architecture Method (ADM) be seamlessly integrated with ArchiMate. Are there any tools out there in the market that supports this kind of integration and modeling authoring process?
Yes, absolutely possible! And in fact, there are some examples around and people in the industry are already practising it this way!
Information from the Open Group
TOGAF ADM can be well integrated with ArchiMate and, in fact, that was one of the reason why ArchiMate designed for. Open Group has an article about the feasibility of TOGAF ADM and ArchiMate integration
Example from Software Vendor
Such kind of implementation from the Software Vendor – Visual Paradigm also illustrated this by integrating the two open standards TOGAF ADM and ArchiMate 3 into one unified software platform.
Here is an article for how to: Use ArchiMate tool with TOGAF ADM seamlessly by using the Guide-Through Process. The screenshots captured from the software are illustrated as follows:
(Source: TOGAF Guide-Through Process illustration)
There is open source Archi ArchiMate tool based on Eclipse. Also the are Sample Models you can start with.
We've Used Sparx Enterprise Architect to model TOGAF ADM with ArchiMate. Each of the ArchiMate Viewpoints can be implemented using Sparx EA, and interleaved in TOGAF ADM.
This could be setup specifically for your Domain / Project, or you can embark on a generic Template and start modeling.
An off-the-shelf integration is available from Biner (http://www.beasisoftware.com/)

Which is the best tool for automation a third party window application?

I am new to automation for Windows apps, apart from using basic Sikuli.
I checked some options like PyAutoGUI, PyWinAuto. Which is the best tool for automation of a 3rd party Windows application out of Sikuli, PyAutoGUI, PyWinAuto or any other tool?
Preferable - a cross platform tool (Mac and Windows)
If you need text properties based automation, pywinauto should help you. But there is no popular text-based cross-platform tool in Open Source field.
On macOs pyatom/ATOMac is good enough if you prefer Python (it requires some compilation during setup, but works well).
This is the big list of open source tools I'm maintaining.
PyAutoGUI has image recognition capabilities (like Sikuli or Lackey) but it's not text based (even no Win32 API support).
PyAutoIt bindings and AutoIt itself doesn't support MS UI Automation technology (only Win32 API).
The Getting Started Guide for pywinauto explains some differences between these 2 technologies and how to switch between them in pywinauto.
Anyway this field is complicated and you may face many challenges. Feel free to ask more detailed questions because this question is more suitable for
Software Recommendations StackExchange site.

What does a "framework" actually mean?

Can anybody tell me in SIMPLE words, what does it mean when we say "I want to build a framework for blah..blah"
From Software Framework on Wikipedia:
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software. A software framework is a universal, reusable software platform used to develop applications, products and solutions. Software frameworks include support programs, compilers, code libraries, an application programming interface (API) and tool sets that bring together all the different components to enable development of a project or solution.
Thank you

what is FFmpeg?

I am using the LINK to take frame from video ..but it says to create a commercial project that decodes H264 video, we have to make sure that we get a license from MPEG LA.
Why should we get license?some tutorials say that we have to give complete source code to
LGPL , if we integrate statically FFMPEG.what is mean by statically? what is the other option?can we submit our App to Appstore(for storing video streams in server) without getting license from LGPL?i am getting confused? any help please?
There are multiple issues going on; the first is your legal right to use the FFMpeg code specifically. This code is governed by the license chosen by the FFMpeg developers, and they have portions with GPL and portions with LGPL embedded. If you compile with the GPL-licensed portions, then the entirety becomes GPL, and you must either distribute the source code for FFMpeg OR offer to make it available for three years. If you link your code against FFMpeg, then you must also provide your source code OR offer to make it available for three years.
If you disable the GPL portions, then you do not need to provide source code for your project, and you only need to provide FFMpeg source code if you modify the LGPL-portions of FFMpeg.
BUT, this is only to abide by the copyright on FFMpeg. You also must comply with the intellectual property of the algorithms inside FFMpeg. This means in the United States and most other countries you must license the underlying algorithms from the organizations that patented the algorithms. E.g., if you use FFMpeg to decode MPEG2 Layer 3 data, then you must license MP3 support from Fraunhofer or one of their licensees. They may or may not place restrictions on the source code that is legal to use their intellectual property.
There are probably dozens of patents on technology in FFMpeg across dozens of patent offices from countries around the world. Which is why a lot of companies buy their source (and licenses!) from a single source, to avoid the complication of licensing agreements in every country where you will have a user and a license holder has registered an intellectual property through the local patent office.
MPEG LA is a company that holds patent pools for several video related technologies.
FFMPEG is an actual implementation of a lot of video related technologies, which a.o. is licensed under the LGPL.
If you want to use FFMPEG to work with H264, you have to deal with both the FFMPEG licenses and the MPEG LA-held patent. The FFMPEG license will require you to redistribute FFMPEG source, whereas using H264 in any form will require you to pay for a license from MPEG LA.
FFMpeg is an open-source library, more information about this here http://www.ffmpeg.org/
If you want to include libraries into your iPhone projects static linking is the only allowed way of doing this. If you do not know the differences between static and dynamic linking, ask Google.
LGPL is just a type of software license, not a legal entity. AFAIK a library published under GPL can only be used if the end product is also licensed under GPL and is open-source. LGPL code can be used in closed-source projects, too if one includes the licence text in the software.
I am not a lawyer, but if you do not encode H.264 you do not have to pay any license fees at all to the MPEG LA.
Yes, linking ffmpeg into your projects is "app store compatible".
EDIT
As Theo pointed out in the comments, point 2 is wrong. This would render FFmpeg incompatible with the iPhone as no dynamic linking is allowed.
I am not a lawyer, but my interpretation of this is:
One of the intents of the LGPL is to allow the distribution of pre compiled binaries, but in such a way that substitutability is possible: LGPL preserves the right of the end user to swap a LGPL library for an equivalent library of their own choosing, by rebuilding the library from source or whatever.
This means the only way to be in compliance with LPGL licensed distributions is to release all your source code, OR, bundle the library as a stand alone dynamic library.
As iPhone software is required to use libraries statically linked, it doesn't seem possible to use LGPL libraries in AppStore Apps unless you also make your entire app source available - or enough of it such that users could re-link it with their own implementation of said library.
it is like an command line any to any video/image converter that can be extended to support as many media codecs as there are , for an instance you upload an video in some format to your site , you can convert it to flv or mp4 or any format u wish to support and host it just like you tube doing ...
http://www.ffmpeg.org/ffmpeg-doc.html check this for all possible functionality