[Kdenlive-devel] New Developer Onboard
Steve Guilford
s.guilford at dbplugins.com
Sun Jun 29 21:32:35 UTC 2014
Greeting Simon,
I'd like to be out there but it's a long way from Los Angeles. Do they
have a meeting scheduled during ski season ? :-)
I can be available by IRC or something similar though.
Steve...>>>
On 06/29/2014 01:37 PM, Simon A. Eugster wrote:
> Hi Steve,
>
> thanks for the mail, and welcome here! Great to have you working on
> Kdenlive. As Anna asked, can you make it to Randa, at least for a few
> days? https://sprints.kde.org/sprint/212 This would be a great
> opportunity to discuss those points with the developers. And to taste
> some Original Swiss Raclette!
>
> Simon
>
> Am 27.06.2014 00:22, schrieb Steve Guilford:
>> Greetings Kdenlive developers....
>>
>>
>> Inroduction
>>
>> I'd like to introduce myself. My name is Steve Guilford and I'm located
>> in Los Angeles, Ca. Some may have noticed my postings on the forum.
>>
>> I have over 32 years of programming experience. My speciality is in
>> creating frameworks, API and toolkits. Mainly in the realm of systems
>> integration tasks, hardware integration etc. In 32 years I've done a lot
>> of systems programming, architecture design, user applications, systems
>> integration, database design, data transformations, hardware
>> integrations, software/systems conversions, forensic analysis etc. etc.
>> I dropped out of college in 1982 in order to go to work. I've been
>> self-employed for 20+ years. Computers are still like toys to me.
>>
>> My Oracle expertise dates back to 1984. In 1986 I was part of a 4 man
>> team that converted the Oracle DB - from source - to run on the Wang-VS
>> line of mini-computers (that sure dates me). I'm fluent in multiple
>> languages, databases, operating systems and object oriented programming
>> frameworks. In the '90s I made a living selling telecommunications
>> software that I created. I had some installations that lasted, with
>> lucrative support contracts, for upwards of 15 years or more.
>>
>> I also created the enabling technology in the '90s for a very successful
>> medical services firm. This product tracked the admission and
>> discharging of patients from hospitals and provided doctors w/ a PDA
>> that uploaded patient info (via an old-fashioned modem !!!) to a central
>> server. Customized, dynamic surveys were then created and reports
>> generated for fax delivery to primary care physicians.
>>
>>
>> My Media Framework
>>
>> Lately, I been working on a very compact and powerful framework for the
>> Oracle database that allows it to be used as a warehousing, streaming,
>> transcoding, editing and rendering platform. This is done in a manner
>> that eliminates the need for physical files. All assets are stored in
>> the database. The framework allows you to keep video data in any
>> table. It does not impose any 'schema' restrictions whatsoever. This
>> framework is 'ready to go' !!!
>>
>> I've modified Kdenlive in a very succinct and discrete manner to allow
>> it to source it's project from the DB as well as edit and render content
>> to-and-from in the manner just described. My modifications are 'compile
>> time' enabled via a build switch. The modifications are contained
>> within '#ifdef' statements. I modified 8 source files as well as some
>> header files. I added 5 UI modules and corresponding UI widgets to
>> allow for the sourcing of projects, access/assignment of content to a
>> project and a 'render' screen. I've modified the CmakeLists.txt file to
>> enable the compile time inclusion of these features.
>>
>> Kdenlive now has the potential to be the first cloud enabled, location
>> independent, database capable video editing platform. Given that the
>> need for physical files has been eliminated, it also qualifies as
>> potentially the most secure architecture available. I hope to be able
>> to post my modifications upstream in the near future.
>>
>>
>> Kdenlive's Long-Term Viability
>>
>> In my opinion, the only way that Kdenlive can survive is to have a
>> 'corporate sponsor'; one that has a vested interest in seeing the
>> project supported and improved. I am trying to build just such a
>> business model. I am looking to build a location independent, cloud
>> enabled video editing environment. In this model, seats on the system
>> are free !!! There would be no charge for use of the editor. The cloud
>> system however does provide secure location independent storage and
>> access as well as consolidated high-performance rendering/transcoding
>> services. That's what you pay for. This model could be attractive to
>> media productions that must incorporate content from multiple locations
>> with the secure delivery of "daily's" for approval by lead
>> directors/editors. There are other benefits as well but I'll leave that
>> for another thread.
>>
>> I've become somewhat familiar with Kdenlive's internals. From what I've
>> been seeing in the forum/dev-list traffic, there are not many that have
>> an in-depth knowledge of Kdenlive. That's obviously a big problem.
>>
>> *I'd like to help !!!* Hopefully my 32 years of practical experience
>> can be useful. Kdenlive can be a terrific platform for open-source
>> collaborative work. Developers that work on Kdenlive would get exposure
>> to a wide variety of programming disciplines and concepts from
>> multi-threading, multi-processing, frameworks, build systems, graphics,
>> hardware, documentation etc. etc. Not every open-source project offers
>> the breadth of disciplines that Kdenlive does. I think it could have
>> strong potential as a 'teaching tool' within academia and the
>> open-source community. If that happens, the quality and support
>> associated w/ Kdenlive could rival the small group of high-end
>> professional NLE's. There would also be spillover to projects such as
>> Blender, Audacity etc. etc.
>>
>>
>> A Way Forward
>>
>> That said, there's some significant steps that need to be taken before
>> that can happen. Here's how I see it.
>>
>> We need to build a current roster of developers - a list posted online -
>> w/ skills and specific areas of responsibility.
>>
>> We need to create a developer's roadmap and documentation. This is
>> critical. In order to attract other coders we need to make it as easy
>> for them to come-up-to-speed as possible. We also need to dispel the
>> myth that a video editor is way to complicated 'for me' when somebody
>> approaches this project for the first time. The roadmap would take
>> somebody from start-to-finish in terms of getting them going. Here's
>> some of the things it would contain:
>>
>> * Specific and tested instructions for creating a local source-tree
>> from GIT.
>> * Instructions on how to upload your changes/mods/bug-fixes.
>> * Details on the bug system used, how to take responsibility for and
>> post a fix for a bug.
>> * Instructions on how to utilize an IDE (i.e. Kdevelop, QtCreate,
>> Eclipse) and create an appropriate IDE project.
>> * Details on using a UI builder such as QtDesigner.
>> * Coding standards.
>> * Kdenlive source tree layout (so you know where to find things and
>> what something is for)
>> * Details on Kdenlive's build system.
>> * Kdenlive data sources - a description of where Kdenlive keeps it's
>> files (i.e. project, proxies, temp files)
>> * A description of the Kdenlive editing project file layout.
>> * Details on how signals and slots are connected together in order to
>> implement UI tasks and other asynchronous tasks within Kdenlive.
>> * A UI interface gallery so that one can flip through a group of
>> images in order to find the desired UI and controlling 'view' module.
>> * A description of how multi-threading and multi-processing is used
>> within Kdenlive (i.e. generating proxies, thumbnails, rendering etc).
>> * Details on Kdenlive's internal data structures.
>> * A C++ class layout/diagram.
>>
>> The developer's roadmap would be an evolving set of documents w/
>> provisions for user comments and contributions etc. I think some of
>> these items in the roadmap need to be in place before we start altering
>> code. Other items can be filled in as we go along.
>>
>> We need to advertise Kdenlive as a viable, attractive 'learning'
>> platform in order to attract academia an other members of the OpenSource
>> community. We need a build a reputation of being a worthwhile project
>> to be involved in.
>>
>>
>> Code Changes
>>
>> As far as code changes are concerned, I definitely have my opinions on
>> that. Please excuse me though - I have 32 years of coding habits built
>> up and over time I've seen a lot and done a lot. Kdenlive's source code
>> suffers greatly from 'formatting' issues. I know some would argue, but
>> after 32 years and countless projects and teams that I've either been
>> part of or led, or done by myself, there's really no way to brace and
>> indent code other than GNU style. Yes, it increases the vertical size
>> of code somewhat but do remember that when K&R style was introduced, we
>> were coding on VT-102 terminals w/ 80x24 screens. (I have an original
>> edition of K&R's Learning to Program in 'C' book - a classic - but I
>> digress) So, vertical size was an issue then. Now - not so much.
>> However, in my mind, K&R style's legacy of hard to read code and
>> style-induced bugs prevails.
>>
>> As you might have surmised, Kdenlive uses K&R style. So, that would be
>> the first code change I'd recommend - and it really would not involve
>> any logic changes whatsoever. It would be relatively straightforward
>> and easy. Braces on separate lines and 2 character indent levels. I
>> think that making these changes would be very important to our ability
>> to attract other coders. Hard to read code is always a turn-off.
>>
>> Once that is done the next area I'd address are the 'massive' routines
>> and the kludgey if/else/if/nested-forever statements that appear
>> throughout the code. In this instance I'm speaking of routines that
>> accomplish way too much (they need to be broken up into smaller chunks)
>> and 'if' statements that have too many levels to them. Breaking up
>> routines that are too big has a direct benefit of making the code more
>> 'self documenting'. This also tends to make it easier, later on, to
>> modify sections w/out adversely impacting other areas of code. Making
>> these changes would serve as a lead-up and the beginnings of a
>> refactoring effort.
>>
>> Refactoring the code so that its easier to understand and modify will be
>> crucial if we are to have a platform that is conducive to encompassing
>> new features and capabilities. The refactoring effort would also
>> include a re-organization of the source code tree. This provides a
>> means of splitting the code into distinct MVC sections and have source
>> files organized within separate subdirectories.
>>
>>
>> Thanks For Reading This Far !!!
>>
>> That's all I've got for right now. I hope some find this interesting
>> and I look forward to possibly helping out w/ Kdenlive. If anybody has
>> access to an Oracle DB (you can download and install one for free for
>> evaluation/development purposes) I'll set you up w/ my Multimedia
>> framework. It's all of *1.5Mb* in size (I rounded up).
>>
>> If you need help setting up an Oracle DB, I can help w/ that too. It's
>> easier than it looks....
>>
>> Sincerely.....Steve Guilford...>>>
>>
>> --
>> Steve Guilford
>> http://www.dbplugins.com
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Open source business process management suite built on Java and Eclipse
>> Turn processes into business applications with Bonita BPM Community Edition
>> Quickly connect people, data, and systems into organized workflows
>> Winner of BOSSIE, CODIE, OW2 and Gartner awards
>> http://p.sf.net/sfu/Bonitasoft
>>
>>
>>
>> _______________________________________________
>> Kdenlive-devel mailing list
>> Kdenlive-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/kdenlive-devel
>>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> Kdenlive-devel mailing list
> Kdenlive-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kdenlive-devel
--
Steve Guilford
http://www.dbplugins.com
More information about the Kdenlive
mailing list