Search Results

Search found 21392 results on 856 pages for 'order of operations'.

Page 316/856 | < Previous Page | 312 313 314 315 316 317 318 319 320 321 322 323  | Next Page >

  • Software patents [closed]

    - by user71622
    not exactly sure where I should post this but I have a question about filing for software patents. If I have an idea for a UI feature, how do I go about patenting that feature. I don't have any code written and I'm afraid my coding skills aren't up to snuff in order to code the thing I imagined but aside from that, can anyone give me any general guidance and info? I've gone through the CIPO site (Canada's patent office) but haven't come away with enough information on what I'm trying to patent but what I have understood is that I have to very thorough in describing what I'm trying to patent and showing that it could work. If anyone has gone through the process of patenting software, can you tell me about your experience? I would like to hear about US and Canadian experiences Thank you!

    Read the article

  • Introduce unit testing when codebase is already available

    - by McMannus
    I've been working on a project in Flex for three years now without unit testing. The simple reason for that is the fact that I just didn't realize the importance of unit testing when being at the beginning of studies at university. Now my attitude towards testing changed completely and therefore I want to introduce it to the existing project (about 25000LOC). In order to do it, there are two approaches to choose from: 1) Discard the existing codebase and start from scratch with TDD 2) Write the tests and try to make them pass by changing the existing code Well, I would appreciate not having to write everything from scratch but I think by doing this, the design would be much better. What would you advise me to do? Thanks for replies in advance! Jan

    Read the article

  • Determining the angle to fire a shot when target and shooter moves, and bullet moves with shooter velocity added in

    - by Azaral
    I saw this question: Predicting enemy position in order to have an object lead its target and followed the link in the answer to stack overflow. In the stack overflow page I used the 2nd answer, the one that is a large mathematical derivation. My situation is a little different though. My first question though is will the answer provided in the stack overflow page even work to begin with, assuming the original circumstances of moving target and stationary shooter. My situation is a little different than that situation. My target moves, the shooter moves, and the bullets from the shooter start off with the velocities in x and y added to the bullets' x and y velocities. If you are sliding to the right, the bullets will remain in front of you as you move so as long as your velocity remains constant. What I'm trying to do is to get the enemy to be able to determine where they need to shoot in order to hit the player. Unless the player and enemy is stationary, the velocity from the ship adding to the velocity of the bullets will cause a miss. I'd rather like to prevent that. I used the formula in the stack overflow answer and did what I thought were the appropriate adjustments. I've been banging at this for the last four hours and I just can't make it click. It is probably something really simple and boneheaded that I am missing (that seems to be a lot of my problems lately). Here is the solution presented from the stack overflow answer: It boils down to solving a quadratic equation of the form: a * sqr(x) + b * x + c == 0 Note that by sqr I mean square, as opposed to square root. Use the following values: a := sqr(target.velocityX) + sqr(target.velocityY) - sqr(projectile_speed) b := 2 * (target.velocityX * (target.startX - cannon.X) + target.velocityY * (target.startY - cannon.Y)) c := sqr(target.startX - cannon.X) + sqr(target.startY - cannon.Y) Now we can look at the discriminant to determine if we have a possible solution. disc := sqr(b) - 4 * a * c If the discriminant is less than 0, forget about hitting your target -- your projectile can never get there in time. Otherwise, look at two candidate solutions: t1 := (-b + sqrt(disc)) / (2 * a) t2 := (-b - sqrt(disc)) / (2 * a) Note that if disc == 0 then t1 and t2 are equal. If there are no other considerations such as intervening obstacles, simply choose the smaller positive value. (Negative t values would require firing backward in time to use!) Substitute the chosen t value back into the target's position equations to get the coordinates of the leading point you should be aiming at: aim.X := t * target.velocityX + target.startX aim.Y := t * target.velocityY + target.startY Here is my code, after being corrected by Sam Hocevar (thank you again for your help!). It still doesn't work. For some reason it never enters the section of code inside the if(disc = 0) (obviously because it is always less than zero but...). However, if I plug the numbers from my game log on the enemy and player positions and velocities it outputs a valid firing solution. I have looked at the code side by side a couple of times now and I can't find any differences. There has got to be something simple I'm missing here. If someone else could look at this code and determine what is going on here I'd appreciate it. I know it's not going through that section because if it were, shouldShoot would become true and the enemy would be blasting away at the player. This section calls the function in question, CalculateShootHeading() if(shouldMove) { UseEngines(); } x += xVelocity; y += yVelocity; CalculateShootHeading(); if(shouldShoot) { ShootWeapons(); } UpdateWeapons(); This is CalculateShootHeading(). This is inside the enemy class so x and y are the enemy's x and y and the same with velocity. One output from my game log gives Player X = 2108, Player Y = -180.956, Player X velocity = 10.9949, Player Y Velocity = -6.26017, Enemy X = 1988.31, Enemy Y = -339.051, Enemy X velocity = 1.81666, Enemy Y velocity = -9.67762, 0 enemy projectiles. The output from the console tester is Bullet position = 2210.49, -239.313 and Player Position = 2210.49, -239.313. This doesn't make any sense. The only thing that could be different is the code or the input into my function in the game and I've checked that and I don't think that it is wrong as it's updated before this and never changed. float const bulletSpeed = 30.f; float const dx = playerX - x; float const dy = playerY - y; float const vx = playerXVelocity - xVelocity; float const vy = playerYVelocity - yVelocity; float const a = vx * vx + vy * vy - bulletSpeed * bulletSpeed; float const b = 2.f * (vx * dx + vy * dy); float const c = dx * dx + dy * dy; float const disc = b * b - 4.f * a * c; shouldShoot = false; if (disc >= 0.f) { float t0 = (-b - std::sqrt(disc)) / (2.f * a); float t1 = (-b + std::sqrt(disc)) / (2.f * a); if (t0 < 0.f || (t1 < t0 && t1 >= 0.f)) { t0 = t1; } if (t0 >= 0.f) { float shootx = vx + dx / t0; float shooty = vy + dy / t0; heading = std::atan2(shooty, shootx) * RAD2DEGREE; } shouldShoot = true; }

    Read the article

  • Live EBS Webcasts Coming Up Soon

    - by LuciaC
    There are a number of live webcasts coming up in the next couple of weeks.  Webcasts are free for Oracle Support customers and are an opportunity to learn about a topic from a product expert as well as ask questions directly.  Here is a reminder of what's available and how to register. Product Area Topic Date/Time Register & Details BI Publisher EBS BI/XML Publisher Overview & Best Practices 22 October, 2200 PT Doc ID 1582767.1 Receivables Receivables Release 12 Late Charges Functionality 23 October, 0800 PT Doc ID 1581280.1 WMS Advanced Catch-Weight with WMS 23 October, 1000 PT Doc ID 1583954.1 Install Base Endeca Extension for Oracle Install Base 24 October, 0830 PT Doc ID 1583876.1 WIP Understanding Work Order Closure 30 October, 0800 PT Doc ID 1584358.1 EAM Collection Plans Within E-Business Suite 31 October, 0800 PT Doc ID 1583924.1 All the webcasts are recorded which means you can play them back whenever is convenient for you if you can't join the live session. You can access the recordings as well as the current webcast schedule from Doc ID 740966.1.

    Read the article

  • Fatal Error when booting

    - by Denja
    I'm running Ubuntu 10.10 with ATI proprietary FGLRX graphic drivers When I boot, I can see this very quick message appearing; I don't have time to read it: **Fatal Error ..................................**(&@something i cant read) I searched through the log file in /var/log/ in order to find what is wrong and I did find something in the /var/log/Xorg.1.log: 21:31:08 [ 15.734] (--) using VT number 1 [ 204.647] Fatal server error: [ 204.647] xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call [ 204.647] [ 204.647] Please consult the The X.Org Foundation support at http://wiki.x.org for help. [ 204.647] Please also check the log file at "/var/log/Xorg.1.log" for additional information. [ 204.647] But this is already Xorg.1.log. And there is a Xorg.0.log also & Xorg.0.log.old but it doesnt have any error in it. My system seems to work properly and it seems its not affected by this But how do I correct this message? Any suggestions?

    Read the article

  • EAIESB is pleased to announce the release of book “Oracle Service Bus (OSB) in 21 days: A hands on guide for OSB”.

    - by JuergenKress
    It is available for order and signed copies are available through our website. For more information, Visit the below links. http://www.eaiesb.com/OSBin21daysbook.html http://eaiesb.com/OSBin21days.html For more information, visit the below links. http://www.eaiesb.com/OSBin21daysbook.html & http://eaiesb.com/OSBin21days.html. SOA & BPM Partner Community For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit  www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center. Blog Twitter LinkedIn Mix Forum Technorati Tags: OSB,EAIESB,OSB 21 days,SOA Community,Oracle SOA,Oracle BPM,Community,OPN,Jürgen Kress

    Read the article

  • How to be anonymous on IPV6 protocol by not using MAC address in EUI-64?

    - by iugamarian
    The IPV6 protocol has a feature called "Extended Unique Identifier" or EUI-64 witch in short uses the MAC address of the network card when choosing an IPV6 Adress. Proof: http://www.youtube.com/watch?v=30CnqRK0GHE&NR=1 at 7:36 video time. If you want to be anonymous on the internet (so that nobody can find you when you download something, etc.) you need this EUI-64 to be bipassed in order for the MAC address not to be discovered by harmful third parties on the internet and for privacy. How do you avoid EUI-64 MAC address usage in IPV6 selection in Ubuntu? Also for DHCP IPV6?

    Read the article

  • Interviewing consultants

    - by SkyOrg
    I've interviewed a number of candidates for salaried positions. I was recently informed that we are hiring a consultant for a few months to help us develop a native iPhone application. We are a .NET shop and none of us have any experience with iPhone development. I've also heard rumors that we are planning to hire more consultants in the future to help develop on other various platforms. How should I interview these consultants, considering that I have no experience with this type of development? Without regards to platform specific questions, what are the things I need to keep in mind when interviewing consultants? Normally when I interview candidates, I'll ask questions that I know the answer to. I would never ask a candidate something that I don't know how to answer. Since this is a different situation, what do I need to ask in order to make sure they are subject matter experts in their respective fields? Is it appropriate to ask specific questions that we'll need to eventually solve during the interview?

    Read the article

  • November 2012 Chicago IT Architects Group Meeting Announcement

    - by Tim Murphy
    The year is quickly coming to an end.  This is the most exciting part of the year with technology manufacturers in overdrive trying to release as many products for Christmas as possible.  Our group is trying to do our part to bring order to the madness with one last presentation for the year.  Norman Murrin will be speaking on November 20th on Adopting Agile Processes in the Enterprise.  Be sure to join us by registering at the link below. Register del.icio.us Tags: Chicago Information Technology Architects Group,CITAG,Agile,Architecture

    Read the article

  • Move site to new domain divided by language across subdomains

    - by mark
    I managed to find a nice domain for a fairly fledgling site of mine that actually hasn't been parked by scumbag squatters. Given the upcoming move I'm thinking I'd take the opportunity to split the content across subdomains according to language, much like wikipedia for example: current: www.old-domain.com/en/subject # English www.old-domain.com/subjecto # Spanish (default so not locale in url) proposed en.new-domain.com/subject es.new-domain.com/subjecto The advantage of doing this is a fairly competitive keyword such that I may wish to put a copy of my application on a Spanish slice in order to gain a few serp's. Also pure vanity. Google's webmaster tools allows me to move to the new domain and I can add the root domain and the subdomains but forward to only one. I'll 301 from the old domain appropriately but is there anything I should know about webmaster tools in this respect where effectively I'm moving to two addresses? (Feel free to dissuade me from doing this if it's a bad idea in comments.) I've now asked this same question on google's forums.

    Read the article

  • Desktop Fun: Ocean Life Wallpaper Collection

    - by Asian Angel
    Our oceans are full of beauty and wonder, a separate world waiting for us to explore its’ mysteries and stir our imaginations. Bring the wonders of the underwater world to your desktop with our Ocean Life Wallpaper collection. Note: Click on the picture to see the full-size image—these wallpapers vary in size so you may need to crop, stretch, or place them on a colored background in order to best match them to your screen’s resolution. What is a Histogram, and How Can I Use it to Improve My Photos?How To Easily Access Your Home Network From Anywhere With DDNSHow To Recover After Your Email Password Is Compromised

    Read the article

  • Separating merged array of arithmetic and geometric series [closed]

    - by user1814037
    Possible Duplicate: Separating merged array of arithmetic and geometric series My friend asked me an interseting question. Given an array of positive integers in increasing order. Seperate them in two series, an arithmetic sequence and geometric sequence. The given array is such that a solution do exist. The union of numbers of the two sequence must be the given array. Both series can have common elements i.e. series need not to be disjoint. The ratio of the geometric series can be fractional. Example: Given series : 2,4,6,8,10,12,25 AP: 2,4,6,8,10,12 GP: 4,10,25 I tried taking few examples but could not reach a general way. Even tried some graph implementation by introducing edges if they follow a particular sequence but could not reach solution.

    Read the article

  • I removed Ubuntu from the BIOS menu but it comes back.

    - by jimirings
    For reasons too long to explain, I reluctantly removed Ubuntu from my computer. After completely removing it and deleting the partition that it was installed onto, I discovered that I still had two Ubuntu entries in the boot order in my BIOS menu. I deleted them by following the instructions in this answer: http://askubuntu.com/a/63613/54934 As I was doing it, everything appeared to go smoothly. However, upon reboot one of them came back. What's going on here? How do I delete it permanently? I'll gladly provide any other information that may be needed to diagnose the problem. Thanks.

    Read the article

  • Sprite animation problem

    - by hustlerinc
    I have this sprite I have to animate. The sprite is 7 images total but animation is 10 frames (2 positions are repeated). The order I want to go through the frames is like this: 3 - 4 - 5 - 6 - 4 - 3 - 2 - 1 - 0 - 2. My problem is how can I skip 1 frame once I reach the end of each direction? The reason I want to skip is to save me from creating duplicate positions in the spritesheet. I'm doing this in Javascript.

    Read the article

  • Renaming hundreds of files at once for proper sorting

    - by Mew
    I have a ton of files, all named stuff like 1.jpg, 2.jpg, 3.jpg, and so on up to 1439.jpg. However, I have a problem with one of my projects and alphabetizing. It will usually go in the order 1.jpg, 10.jpg, 11.jpg and so on. What I need is some way (or a script) to name the files so they are in the format such as 00001.jpg all the way up to 01439.jpg. How would I be able to do this quickly and efficiently?

    Read the article

  • Solaris 11 features: nscfg

    - by nospam(at)example.com (Joerg Moellenkamp)
    As you may have noticed many configuration tasks around name services have moved into the SMF in Solaris 11. However you don't have to use the svccfg command in order to configure them, you could still use the old files. However you can't just edit them, you have to import the data into the SMF repository. There are many reasons for this need but the ultimate one is in the start method. I will explain that later. In this article i want to explain, how nscfg can help you with with the naming service configuration of your system. Continue reading "Solaris 11 features: nscfg"

    Read the article

  • What will help you get an entry-level position?

    - by Maria Sandu
    Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-family:"Calibri","sans-serif"; mso-ascii- mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi- mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} “Finishing your studies and getting a great job.” Isn’t this the biggest dream of most of the young people? At the beginning you think it’s easy, but when it’s your turn, you realize that actually it’s not as easy as you thought it would be. Especially nowadays, when we’re living difficult times and finding a job is a challenge. This is why I felt lucky when I joined Oracle. Do you want to know how did I do it? My name is Markéta Kocová and I am working as a Customer Intelligence Support Intern within Oracle Prague. Before this job I have, I was focused on my studies, going also abroad for one semester in Rostock University in Germany. I decided though to gain some working experience. In November 2011, I joined Oracle, this one being my first job. I never thought I would be part of such a big company, but here I am! I have to say that I think it’s quite difficult to find a job and thus job search might be exhausting. What did help me? I think it was the networking. The more people you know, the more chances you have to find a job. This is how I’ve heard about this internship. I think internship programs are a great opportunity for young people to gain experience and also to start building a career. As companies are looking for the candidates with the best skills and some experience, it’s difficult to get a job. It’s a paradox isn’t it? You are applying for a entry-level position, but you won’t get it because they’ll be searching for someone who has experience. This is why internship is a good solution to improve your skills. You will learn many things, you might get a mentor and also perform given tasks. What else could you do? In my opinion you should invest in yourself. Try to focus on both education and skills. In order to get a good job in an international and successful company, it’s not enough a university diploma. You could learn a foreign language because it’s usually required. Employers are also looking for good computer skills, so this could be something you could take into consideration before applying to a job. There are also some personal characteristics like communication abilities, self-reliance, self-confidence or ability to solve the crisis situations that companies look at when hiring a person. You could consider attending some training in order to improve these soft skills. Getting a job is difficult, but also when you make it and get one you’ll still finding challenging to stay there. You might realize it is not the dream job, but being patient and trying to learn as much as possible will help you to achieve more. I think every experience is valuable. I’ve been through this type of situation, but the environment, my colleagues and the atmosphere in office have always been great and made me love my job! Thanks guys! If you’re searching for a job and you want to join Oracle, I recommend you to check http://campus.oracle.com

    Read the article

  • Ubuntu Screensaver Freezes?

    - by user11833
    I am using ubuntu 10.04. Over the last couple of days, I am having a weird problem: once the machine gets into screen saver, it is impossible to get it "out". I do see the mouse cursor move as I move the mouse, but the login popup (with user / password) does not show up and the screen remains "frozen". Any idea what might be going wrong? For the time being, I have no choice but to restart the computer in order to be able to resume work. Thanks.

    Read the article

  • Randomly spawning bitmaps on cnvas

    - by Toystoj
    I need some ideas in order to finish algorithm. I'm randomly placing objects (bitmaps) on canvas without overlapping. Time needed to finish it is my problem. When I need to spawn for example 80% of canvas it takes to long. So i was thinking : I should make some change when the bitmaps take off 50 % of canvas. I want to tell algorithm that it should generate new locations (x,y) where it is free space. My question is : How to render new location (x,y) in place where is free space. In summary: Things I know : object location (x,y) 4 corners (x,y) of object object width, height canvas width, height Any suggestions?

    Read the article

  • Unable to boot from USB boot drive for AMD Athlon 64

    - by Nagarjun
    I am trying to install Ubuntu 13.04 ISO for AMD64 Athlon processor using USB drive (8GB). I did create a bootable USB using the USB installer from Win7 intel 32bit processor (followed steps from here: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows). This USB is unable to boot on my AMD64 bit processor. The bios is able to detect the USB and once I change the boot order to USB and save exit from bios, I get a message saying "DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS CONTINUE" and unable to proceed further. However earlier to this I have successfully installed Ubuntu 13.04 on to my laptop which has Intel 32 bit core i5 processor with the same procedure but my desktop which has AMD64 is failing. I also tried to create the USB installer on my desktop which has the AMD64 bit processor and tried booting which also resulted in the same error. (My desktop currently has Win XP) Please help as I have run out of options. thanks, Nagarjun

    Read the article

  • Processing a stream. Must layers be violated?

    - by Lord Tydus
    Theoretical situation: One trillion foobars are stored in a text file (no fancy databases). Each foobar must have some business logic executed on it. A set of 1 trillion will not fit in memory so the data layer cannot return a big set to the business layer. Instead they are to be streamed in 1 foobar at a time, and have business logic execute on 1 foobar at a time. The stream must be closed when finished. In order for the stream to be closed the business layer must close the stream (a data operation detail), thus violating the separation of concerns. Is it possible to incrementally process data without violating layers?

    Read the article

  • robots.txt dissalow url containing string with a '/' at the end

    - by thanili
    i have a website with thousands of dynamic pages. I want to use the robots.txt file in order to dissalow certain url patterns corresponding to pages with duplicate content. For example i have a page for article itemA belonging to category catA/subcatA, with URL: /catA/subcatA/itemA this is the URL that i want to be indexed from google. this article is also visible via tagging in various other places in the web site. The URLs produced via tagging is like: /tagA1/itemA this URL i want NOT to be indexed from google. However i want to have indexed all tag listings: /tagA1 so how can i achieve this? dissalow URLs of including a specific string with a '/' at the end? /tagA1/ itemA - dissalow /tagA1 - allow

    Read the article

  • Factory for arrays of objects in python

    - by Vorac
    Ok, the title might be a little misleading. I have a Window class that draws widgets inside itself in the constructor. The widgets are all of the same type. So I pass a list of dictionaries, which contain the parameters for each widget. This works quite nicely, but I am worried that the interface to callers is obfuscated. That is, in order to use Window, one has to study the class, construct a correct list of dictionaries, and then call the constructor with only one parameter - widgets_params. Is this good or bad design? What alternatives does the python syntax provide?

    Read the article

  • Java installation for Solaris Studio 12.2

    - by DemiSheep
    I have Solaris Studio almost working. My only issue seems to be Java. Here is what I get: ============================ aflory@aflory-laptop:~$ solstudio & [1] 1723 aflory@aflory-laptop:~$ Solaris Studio is unable to find a supported version of Java. Solaris Studio supports Java version 1.6.0_13 and newer and looks for a valid Java installation in the following order: 1) Location specified with --jdkhome command line option 2) In PATH environment variable 3) At /usr/jdk/latest location, if exists 4) At /usr/java location, if exists 5) At /usr location, if exists ============================ I try typing --jdkhome in the console but I get an command not found error. I have added the following to my /home/aflory/.bashrc file: PATH=$PATH:/usr/java/jdk1.6.0_24/bin:/home/aflory/solstudio12.2/bin export PATH I am running Ubuntu 10.04 64bit. I tried installing the 64 bit version of Java JDK, then I tried installing the 32bit version of Java JDK. I don't believe there is a 64bit version of Solaris Studio.

    Read the article

  • Mousin' down the PathListBox

    - by T
    While modifying the standard media player with a new look and feel for Ineta Live I saw a unique opportunity to use their logo with a dotted I with and attached arc as the scrub control. So I created a PathListBox that I wanted an object to follow when a user did a click and drag action.  Below is how I solved the problem.  Please let me know if you have improvements or know of a completely different way.  I am always eager to learn. First, I created a path using the pen tool in Expression Blend (see the yellow line in image below).  Then I right clicked that path and chose [Path] --> [Make Layout Path].   That created a new PathListBox.  Then I chose the object I want to move down the new PathListBox and Placed it as a child in the Objects and Timeline window (see image below).  If the child object (the thing the user will click and drag) is XAML, it will move much smoother than images. Just as another side note, I wanted there to be no highlight when the user selects the “ball” to drag and drop.  This is done by editing the ItemContainerStyle under Additional Templates on the PathListBox.  Post a question if you need help on this and I will expand my explanation. Here is a pic of the object and the path I wanted it to follow.  I gave the path a yellow solid brush here so you could see it but when I lay this over another object, I will make the path transparent.   To animate this object down the path, the trick is to animate the Start number for the LayoutPath.  Not the StartItemIndex, the Start above Span. In order to enable animation when a user clicks and drags, I put in the following code snippets in the code behind. the DependencyProperties are not necessary for the Drag control. namespace InetaPlayer{ public partial class PositionControl : UserControl { private bool _mouseDown; private double _maxPlayTime; public PositionControl() { // Required to initialize variables InitializeComponent(); //mouse events for scrub control positionThumb.MouseLeftButtonDown += new MouseButtonEventHandler(ValueThumb_MouseLeftButtonDown); positionThumb.MouseLeftButtonUp += new MouseButtonEventHandler(ValueThumb_MouseLeftButtonUp); positionThumb.MouseMove += new MouseEventHandler(ValueThumb_MouseMove); positionThumb.LostMouseCapture += new MouseEventHandler(ValueThumb_LostMouseCapture); } // exposed for binding to real slider using a DependencyProperty enables animation, styling, binding, etc.... public double MaxPlayTime { get { return (double)GetValue(MaxPlayTimeProperty); } set { SetValue(MaxPlayTimeProperty, value); } } public static readonly DependencyProperty MaxPlayTimeProperty = DependencyProperty.Register("MaxPlayTime", typeof(double), typeof(PositionControl), null);   // exposed for binding to real slider using a DependencyProperty enables animation, styling, binding, etc....   public double CurrSliderValue { get { return (double)GetValue(CurrSliderValueProperty); } set { SetValue(CurrSliderValueProperty, value); } }   public static readonly DependencyProperty CurrSliderValueProperty = DependencyProperty.Register("CurrSliderValue", typeof(double), typeof(PositionControl), new PropertyMetadata(0.0, OnCurrSliderValuePropertyChanged));   private static void OnCurrSliderValuePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PositionControl control = d as PositionControl; control.OnCurrSliderValueChanged((double)e.OldValue, (double)e.NewValue); }   private void OnCurrSliderValueChanged(double oldValue, double newValue) { _maxPlayTime = (double) GetValue(MaxPlayTimeProperty); if (!_mouseDown) if (_maxPlayTime!=0) sliderPathListBox.LayoutPaths[0].Start = newValue / _maxPlayTime; else sliderPathListBox.LayoutPaths[0].Start = 0; }  //mouse control   void ValueThumb_MouseMove(object sender, MouseEventArgs e) { if (!_mouseDown) return; //get the offset of how far the drag has been //direction is handled automatically (offset will be negative for left move and positive for right move) Point mouseOff = e.GetPosition(positionThumb); //Divide the offset by 1000 for a smooth transition sliderPathListBox.LayoutPaths[0].Start +=mouseOff.X/1000; _maxPlayTime = (double)GetValue(MaxPlayTimeProperty); SetValue(CurrSliderValueProperty ,sliderPathListBox.LayoutPaths[0].Start*_maxPlayTime); }   void ValueThumb_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { _mouseDown = false; } void ValueThumb_LostMouseCapture(object sender, MouseEventArgs e) { _mouseDown = false; } void ValueThumb_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { _mouseDown = true; ((UIElement)positionThumb).CaptureMouse(); }   }}  I made this into a user control and exposed a couple of DependencyProperties in order to bind it to a standard Slider in the overall project.  This control is embedded into the standard Expression media player template and is used to replace the standard scrub bar.  When the player goes live, I will put a link here.

    Read the article

< Previous Page | 312 313 314 315 316 317 318 319 320 321 322 323  | Next Page >